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

时间:2016-07-14 12:34:41

标签: php mysql

我对PHP很新,我知道这是一个众所周知的问题,但是我无法修复它。 根据mysql日志,建立并立即关闭与数据库的连接。

我附上了下面的代码,谢谢你的帮助。顺便说一下,这个错误只发生在“真正的”服务器上,使用XAMPP我没有遇到任何问题......

$stmt = $conn->prepare("SELECT UID FROM USERS WHERE username = ? and password = ?");
$stmt->bind_param("ss", $g_usernameSql, $g_pwSql);

1 个答案:

答案 0 :(得分:0)

可能的原因是:$ conn-> prepare因为失败而返回false。

$ stmt是false而不是语句对象。你应该在使用之前检查是否($ 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
}