调用未定义的方法PDOStatement :: bind_result()?

时间:2013-03-20 02:30:30

标签: php pdo phpass

我一直收到此错误消息但不知道原因。这是一个登录脚本,我复制了here格式,因为我不知道如何使用PHPASS进行登录。这是我的代码:

$email      = ($_POST['email']);
$pass       = ($_POST['pass']);

require 'connect.php';
require 'PasswordHash.php';
$hash = '*';
    $login = $con->prepare("SELECT password FROM basicuserinfo WHERE email=:email");
    $login->bindParam(':email', $email);
    $login->execute();
    $login->bind_result($hash);
    if (!$login->fetch() && $con->errno)
        die();
    if ($hasher->CheckPassword($pass, $hash)) {
        $what = 'Authentication succeeded';
    } else {
        $what = 'Authentication failed';
    }
    unset($hasher);

1 个答案:

答案 0 :(得分:4)

在您have given的链接中,他们正在使用MySQLi连接来处理与MySQL相关的任务。方法bind_resultmysqli中的方法之一。

这在MySQL连接的方法中既不需要也不必要。这是PDO的list of valid methods/constructors and classes等。


你应该在这里使用的是:

$hash = $login->fetchColumn();

其中fetchColumn从结果集的下一行返回单个列。