我一直收到此错误消息但不知道原因。这是一个登录脚本,我复制了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);
答案 0 :(得分:4)
在您have given的链接中,他们正在使用MySQLi
连接来处理与MySQL相关的任务。方法bind_result
是mysqli
中的方法之一。
这在MySQL连接的pdo方法中既不需要也不必要。这是PDO的list of valid methods/constructors and classes等。
你应该在这里使用的是:
$hash = $login->fetchColumn();
其中fetchColumn
从结果集的下一行返回单个列。