我的查询有效,为什么会出现此错误?

时间:2013-12-16 15:57:54

标签: php mysql mysqli

我有一个非常简单的查询,可以在我正在使用它的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

建议查询不正确。是什么给了什么?

2 个答案:

答案 0 :(得分:2)

更新查询会导致mysqli_query根据更新成功或失败返回truefalse。你不应该在上面调用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