查询返回null

Joã*_*ias 2 php mysql pdo

您好我有这个查询通过电子邮件获取用户,这是数据库中的一个唯一字段.

但是,当我想获取数据时,它只返回null.

这是代码

    public function getUserByEmail($email)
    {

            $statement = "SELECT id_user,nome,email,permissao,activo FROM sys_users 
                          WHERE email=$email";

            try
            {

             $sth = $this->db->query($statement);
             $sth->setFetchMode(PDO::FETCH_OBJ);
             $rcs_users = $sth->fetchAll();
             return $rcs_users;

            }
            catch(PDOException $e)
            {
                "DB Error".$e->getMessage();
            }

    }
Run Code Online (Sandbox Code Playgroud)

和各自的函数调用

$user_rcs = $user->getUserByEmail($email);

    var_dump($user_rcs); //returns null




    $_SESSION['email'] = $email;
    $_SESSION['user'] = $user_rcs->nome;
    $_SESSION['permissao'] = $user_rcs->permissao;
Run Code Online (Sandbox Code Playgroud)

然后我收到了这个错误

Notice: Trying to get property of non-object in C:\xampp\htdocs\inacesso\admin\modules\auth\authhandler.php on line 24
Run Code Online (Sandbox Code Playgroud)

很高兴,如果你能帮助我!

Que*_*tin 5

必须引用SQL中的字符串,因此除非$email使用'及其'周围的函数到达,否则SQL将出错.

但是你不应该通过将PHP字符串混合在一起来构建SQL.将PDO或mysqli_*与绑定参数(和预处理语句)一起使用,这将为您处理引用(和转义).