PHP 致命错误:调用布尔值上的成员函数 bind_param()


PHP Fatal error: Call to a member function bind_param() on boolean

我对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是假的,而不是语句对象。 您应该在使用前检查是否 ($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
}