不接受php登录密码

不接受php登录密码,php,mysql,Php,Mysql,我无法使用下面的代码登录。下面是我的代码: public function auth($login, $password) { $login = $this->db->real_escape_string($login); $tmp = $this->db->query("SELECT id, password FROM users WHERE login = '$login'"); if (!$tmp-&

我无法使用下面的代码登录。下面是我的代码:

    public function auth($login, $password)
    {
        $login = $this->db->real_escape_string($login);
        $tmp = $this->db->query("SELECT id, password FROM users WHERE login = '$login'");

        if (!$tmp->num_rows) {
            return false;
        }

        $userData = $tmp->fetch_assoc();
        var_dump($userData);
var_dump(sha1($password.'|'.$login));

        if ($userData[‘password’] == sha1($password.'|'.$login)) {

            return $userData['id'];

        } else {
            return false;
        }

    }
}
这是var转储的输出

array(2) { ["id"]=> string(1) "7" ["password"]=>
string(40) "e1c6d95317081ebddaea4cd1a061415c39dafb2b" }

string(40) "e1c6d95317081ebddaea4cd1a061415c39dafb2b"
我怎样才能修改它,这样我就可以登录了?

你为什么不这样做呢

$this->db->query('SELECT `id`, `password` FROM `users` WHERE `login` = ? AND `password` = SHA1(CONCAT(?,"|",?))',array($login,$password,$login));

请注意
['password']
中的卷曲引号,我想为什么不使用新的和解决了mysqli或PDO的新密码呢?如果是,您可以删除该问题。如果没有,请告诉我们。