我正在使用带有php的MongoDB - 我正在尝试获取使用用户名和用户登录的用户的ID密码并将其存储为会话变量。
我一直收到这个错误,我不明白为什么。
<?php
session_start();
$dbhost = 'localhost';
$dbname = 'story';
$mongo = new MongoClient("mongodb://$dbhost");
$db = $mongo->$dbname;
$collection = $db->users;
$email=$_POST['email'];
$password=$_POST['password'];
$user = $collection->find(array("email" => $email, "password" => $password));
$user->limit(1);
if ($user->count(true) > 0){
$_SESSION['user']['userid']=iterator_to_array($user['_id']->{'$id'});
header("Location:../webpages/master.php?page=home");
}else{
echo "Wrong username or password";
}
&GT;
答案 0 :(得分:0)
正如Sammaye所指出的那样,find()函数会返回一个游标,然后你迭代它来查找文档。如果您知道只有一个文档,而不是使用find(...) - &gt; limit(1),它仍然返回一个光标,您可以使用findOne(),它返回文档本身。
答案 1 :(得分:0)