使用php时的mongodb错误[重复]

Posted

技术标签:

【中文标题】使用php时的mongodb错误[重复]【英文标题】:mongodb error in using php [duplicate] 【发布时间】:2017-06-22 12:45:21 【问题描述】:

我可以尝试更新登录 mongodb 的尝试,但它可能会显示错误 在带有我的 sql 的 php 中,我可以使用以下代码:

$columns = "";
  foreach($toUpdate as $k => $v)
    $columns .= "$k = :$k, ";
  
  $columns = substr($columns, 0, -2); // Remove last ","

  $sql = $this->dbh->prepare("UPDATE user  SET $columns WHERE id=:id");
  $sql->bindValue(":id", $user);
  foreach($toUpdate as $key => $value)
    $value = htmlspecialchars($value);
    $sql->bindValue(":$key", $value);
  

  $sql->execute();

在此代码中它可以显示尝试登录的次数..但是可以使用 mongodb 在 php 中编写此代码它可以显示错误

$columns = "";
  foreach($toUpdate as $k => $v)
    $columns .= "$k = :$k, ";
  
  $columns = substr($columns, 0, -2); // Remove last ","

                        $collection=user;//table name;
                        $set = array('$set' =>array(array($columns)));
                        $m->$collection->update(array(id=>$user),$set);

  foreach($toUpdate as $key => $value)
  
      var_dump($toUpdate);
    $value = htmlspecialchars($value);
    $m->$collection->update(array(id=>$value),$set);

  

我可以尝试很多方法,但它显示错误....这是错误

带有消息的未捕获异常“MongoWriteConcernException” 'localhost:27017:修饰符对字段进行操作,但我们发现类型数组 反而。例如: $mod: : ... 不是 $set: [ [ "attempt = :attempt" ] ])

任何人都知道如何解决这个问题

【问题讨论】:

它也可能显示相同的错误(未捕获的异常 'MongoWriteConcernException' 带有消息 'localhost:27017: Modifiers operation on fields 但我们找到了类型数组。例如:$mod: : ... 不是 $set: [ [ "attempt = :attempt" ] ]) 我也可以试试这个方法: $collection=$this->config['db']['table'];//表名; $set = array('$set' =>array(array($columns))); $this->dbh->$collection->update(array($this->config["db"]["columns"]["id"]=>$user),$set); 【参考方案1】:

出现此错误是因为您将数组数组传递给$set,而不是数据数组:

$set = array('$set' =>array(array($columns)));

试试这个:

$set = array('$set' =>array($columns));

【讨论】:

它也可能显示相同的错误(未捕获的异常 'MongoWriteConcernException' 带有消息 'localhost:27017: Modifiers operation on fields 但我们找到了类型数组。例如:$mod: : ... 不是 $set: [ [ "attempt = :attempt" ] ])

以上是关于使用php时的mongodb错误[重复]的主要内容,如果未能解决你的问题,请参考以下文章

更新时的Mongo错误:无法使用零件遍历元素[重复]

致命错误:在第 11 行的 E:\xampp\htdocs\teach\mongo\index.php 中找不到类 'MongoClient' - Mongodb + XAMPP

为啥我在 mongo db 上出现重复键错误。模型,即使我没有独特的属性

使用 Laravel 播种 MongoDB 时的 authenticationDatabase 错误

在 Mac OS Lion 上使用 XAMPP 安装 MongoDb PHP 驱动程序时出错

PHP中的Mongodb连接不起作用