我对 PHP 相当陌生,我知道这是一个众所周知的问题,但我无法修复它。 根据mysql日志,与数据库的连接已建立并立即关闭。
我附上了下面截取的代码,感谢您的帮助。顺便说一句,这个错误仅发生在“真实”服务器上,使用 XAMPP 我完全没有问题......
$stmt = $conn->prepare("SELECT UID FROM USERS WHERE username = ? and password = ?");
$stmt->bind_param("ss", $g_usernameSql, $g_pwSql);
最佳答案
可能的原因是:$conn->prepare 由于失败而返回 false。
$stmt 为 false 并且不是语句对象。在使用它之前你应该检查 if ($stmt === false) 。
现在看看为什么失败,检查 $conn->errorInfo() 返回的数组 (假设 $conn 是一个 PDO 实例)
$stmt = $conn->prepare("SELECT UID FROM USERS WHERE username = ? and password = ?");
if ($stmt === false) {
var_dump($conn->errorInfo());
} else {
// do stuff
}
关于PHP fatal error : Call to a member function bind_param() on boolean,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38374359/