为什么mysqli_query被评估为布尔值而不是结果集

时间:2013-12-26 22:25:51

标签: php mysql mysqli

PHP的简单mySQL调用应该是生成mySQL错误mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, boolean given

以下是代码:

$updateSQL = "UPDATE content SET type='type1', updated_by='Fred', date_updated = NOW() WHERE id=123";

$mysqli = mysqli_connect($hostname, $username,password, $database);

$update = mysqli_query($mysqli, $updateSQL) or die(mysqli_error($mysqli));
$row_update = mysqli_fetch_assoc($update);
$totalRows_update = mysqli_affected_rows($mysqli);

起初我认为问题是or die(mysqli_error($mysqli)),但即使我对该部分发表评论,我也会得到同样的错误。当我使用$update检查gettype($update)时,它会显示一种布尔值,但我不明白为什么。

BTW,更新查询本身似乎没有问题。

1 个答案:

答案 0 :(得分:1)

由于您没有在查询中返回记录集,因此您无需获取任何结果,我的建议是删除$row_update = mysqli_fetch_assoc($update);