我有一个非常简单的查询,可以在我正在使用它的PHP页面中的phpMyAdmin 和中工作,以基于简单的HTML表单更新表:
UPDATE customers SET customer_name='$name', customer_email='$email', customer_tel='$tel' WHERE customer_id = $id LIMIT 1
这完全更新了表 - 我可以在phpMyAdmin中看到,我有if
语句检查报告没有问题的受影响行的数量,但我仍然得到:
mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given
建议查询不正确。是什么给了什么?
答案 0 :(得分:2)
更新查询会导致mysqli_query
根据更新成功或失败返回true
或false
。你不应该在上面调用mysqli_fetch_array
。
答案 1 :(得分:0)
您必须将结果集传递给mysqli_fetch_array();
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");
/* check connection */
if ($mysqli->connect_errno) {
printf("Connect failed: %s\n", $mysqli->connect_error);
exit();
}
if ($result = $mysqli->query("UPDATE customers SET customer_name='$name', customer_email='$email', customer_tel='$tel' WHERE customer_id = $id")) {
// if success do something here
}
在你的情况下,你不应该调用mysqli_fetch_array()
检查此答案:mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in