Mysql使用php选择查询结果为空行值

时间:2017-09-15 05:32:01

标签: php mysql

** 以下查询正确执行并为登录提供准确的结果。但是当我尝试访问查询返回的字段时,它显示为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
        );
      }

请给我解决方案

2 个答案:

答案 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
    );
  }