** 以下查询正确执行并为登录提供准确的结果。但是当我尝试访问查询返回的字段时,它显示为null。在下面的代码中,我检查了正确的电子邮件ID,我的列名是'user_email',它验证用户登录是否正确,但是当我尝试从返回的结果中访问相同的电子邮件ID时($ checkLogin-> user_email) ,它给我null **
$checkLogin=$db->query("SELECT * from `users` where
`user_email`='$u_email' and `user_password`='$u_password'");
if($checkLogin)
{
$data[]=array(
'status'=>'success',
'email'=>$u_email,
'pass'=>$u_password,
'email1'=>$checkLogin->user_email
);
}
请给我解决方案
答案 0 :(得分:2)
query()函数返回一个结果对象。 你需要获取你的结果。这有很多函数:fetch_row(),fetch_assoc(),fetch_array(),fetch_all()。你可以在php.net找到如何使用它们的例子。
您可以编写以下内容:
$checkLogin = $db->query("SELECT * from `users` where `user_email`='$u_email' and `user_password`='$u_password'");
if($row = $checkLogin->fetch_object())
{
echo $row->user_email;
}
答案 1 :(得分:0)
我找到了解决方案。我使用$ db-> get_row而不是$ db->查询如下
$checkLogin=$db->get_row("SELECT * from `users` where `user_email`='$u_email' and `user_password`='$u_password'");
if($checkLogin)
{
$data[]=array(
'status'=>'success',
'email'=>$u_email,
'pass'=>$u_password,
'email1'=>$checkLogin->user_email
);
}