MySQL选择查询使用PHP导致空行值

php mysql

53 观看

2回复

54 作者的声誉

** 以下查询将正确执行,并提供准确的登录结果。但是,当我尝试访问查询返回的字段时,显示为null。在下面的代码中,我检查了正确的电子邮件ID,列名称为“ user_email”,它可以正确验证用户登录,但是当我尝试从返回的结果($ checkLogin-> user_email)访问相同的电子邮件ID时,它给了我空 **

 $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
        );
      }

请给我解决方案

作者: Avdhut K 的来源 发布者: 2017 年 9 月 15 日

回应 2


0

54 作者的声誉

我找到了解决方案。我必须使用$ db-> get_row代替$ db-> query,如下所示

  $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
    );
  }
作者: Avdhut K 发布者: 2017 年 9 月 15 日

2

398 作者的声誉

决定

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;
}
作者: pgross 发布者: 2017 年 9 月 15 日
32x32