我在使用php
进行mongoDB
的实施时遇到了一些问题
我的情况是我创建了一个函数,用于恢复mongoDB
变量中的$_SESSION['mongoDb']
数据库,选择一个集合,然后使用函数find($where, $fields)
。
我的错误是
Fatal error: Call to a member function find() on a non-object in...
我已经尝试过检查mongodb php驱动程序和其他人,但问题仍然存在......
编辑:有关的更多信息。
感谢帖子Eternal1,它有点令人困惑,因为相同的代码在生产服务器中工作,但不在我的localhost XAMPP服务器上。
对于那个问我代码的人,你在这里:
public function generic_select_mongo ($collection, $fields, $where, $order, $limit)
{
$mongoBd = $_SESSION['mongoBd'];
$col = $mongoBd->$collection;
$res = $col->find($where, $fields);
$res->sort($order);
$result = array();
while ($docs = $res->getNext())
{
$result[] = $docs;
}
return $result;
}
我要调查php中的Session。很抱歉有其他信息的答案。
答案 0 :(得分:0)
MongoDB
连接属于resource
类型,无法序列化,因此无法正确存储到会话中。 PHP会话手册说明:
某些类型的数据无法序列化,因此存储在会话中。它 包括资源变量或带有循环引用的对象(即 将引用传递给另一个对象的对象)