最近,我一直在为我的网站编写一些代码。通常,我不用担心这些代码,但它突然开始出现问题。我使用mysqli_fetch_array从我的数据库中选择一些数值,但它返回的错误:mysqli_fetch_array问题 - 布尔代替mysqli_result
Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given.
我猜我们都见过这个错误,但我不能缝摆脱它。它所涉及的代码如下:
if (!empty($emailAddressGET) && !empty($passwordGET)) {
$infoGet = mysqli_query($dbConnect, "SELECT * FROM users WHERE emailAddress = '".$emailAddress."'");
while ($row = mysqli_fetch_array($infoGet, MYSQLI_ASSOC)) { //BUG LINE
//Code for setting cookies, checking values etc here
}
}
如何防止发生此错误?
'mysqli_query'返回'FALSE on failure',它是作为第一个参数(参数)传递给'mysqli_fetch_array'的'boolean'值。调试你的代码。另外你为什么要检查'$ emailAddressGET',然后应用'$ emailAddress'而不用'GET'? – Ohgodwhy 2014-09-12 22:56:13
GET的值直接来自输入。无值是降低版本的值,或者密码将使用sha1();. – 2014-09-12 23:03:46
投票结束,即使重复是关于ext/mysql而不是ext/mysqli。但是解决方案对于两者都是一样的。 – 2014-09-12 23:51:48