PHP password_verify PDO每次都返回false

时间:2014-11-29 19:20:19

标签: php mysql pdo verify

我有这个PHP代码。变量$ password具有静态分配的正确密码(无需用户输入验证)。

$ data ['password']在使用echo打印出来时也会返回正确的哈希值。

但不知何故,password_verify函数在此函数中不起作用。当我使用相同的输入手动使用它时它工作正常。

也许PDO查询有问题,但我不知道是什么。

    $this->mysql->query("SELECT * FROM user WHERE username = :username LIMIT 1");
    $this->mysql->bind(':username', $username);
    $data = $this->mysql->single(); 

    if($this->mysql->rowCount() == 1)
    {
        echo $data['password'];
        if(password_verify($password, $data['password']))
        {

            echo "yees!";

        }else{
            $this->user_error = true;
        }       
    }else{
        $this->user_error = true;           
    }

1 个答案:

答案 0 :(得分:0)

所以我明白了。 数组中有一些空格,但我不知道它们来自哪里。 所以我使用trim()函数来删除这些空格,现在一切正常。

感谢您的快速帮助!