【发布时间】:2012-11-24 04:19:07
【问题描述】:
$mysqli = mysqli_connect("localhost", "root", "pass", "test");
function check_login($mail,$pwd){
global $mysqli;
if($stmt= $mysqli->prepare('SELECT COUNT(*) FROM `users` WHERE mail = ? AND pwd = MD5(?)')){
$stmt->bind_param("ss", $mail, $pwd);
$stmt->execute();
$stmt->bind_result($count);
$stmt->close();
var_dump($count);
}
return ($count > 0 ? true : false);
}
check_login('test@gmail.com','pass');
我通过在stackoverflow上看到一些脚本编写了这个脚本。我尝试运行它,发现脚本执行后$count为NULL。
我想知道为什么这对我不起作用。我尝试在 Mysql 上运行相同的命令,它会显示结果。
谁来帮帮我..
【问题讨论】:
-
我可以看到类似“命令不同步;您现在无法运行此命令”之类的内容
-
参见php.net/manual/en/mysqli-stmt.bind-result.php - 在填充变量之前,您还需要发出 fetch() 调用。
-
@mario 谢谢亲爱的,这对我有用。