我对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
}