Php 为什么mysqli_查询被计算为布尔值而不是结果集

Php 为什么mysqli_查询被计算为布尔值而不是结果集,php,mysql,mysqli,Php,Mysql,Mysqli,PHP的一个简单mySQL调用应该是生成mySQL错误mysqli_fetch_assoc()期望参数1是mysqli_result,给定布尔值 代码如下: $updateSQL = "UPDATE content SET type='type1', updated_by='Fred', date_updated = NOW() WHERE id=123"; $mysqli = mysqli_connect($hostname, $username,password, $database);

PHP的一个简单mySQL调用应该是生成mySQL错误
mysqli_fetch_assoc()期望参数1是mysqli_result,给定布尔值

代码如下:

$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);
起初,我认为问题出在
或die(mysqli_error($mysqli))
,但即使我注释了该部分,我也会遇到同样的错误。当我用
gettype($update)
检查
$update
时,它确实显示了一种布尔类型,但我不明白为什么


顺便说一句,更新查询本身执行起来似乎没有问题。

因为查询中没有返回记录集,所以不必获取任何结果,我的建议是删除
$row\u update=mysqli\u fetch\u assoc($update)

你能显示$UpdateSql中的内容吗通常这是SQL语句中的一个错误,如果你正在进行更新,你就不会显示它…你没有任何东西可以获取,我认为zerkms是正确的。因为它是一个更新查询,所以没有结果集,所以fetch_assoc没有任何意义,可能正在生成错误。实际查询没有缺少分号。请尝试注释
$row\u update=mysqli\u fetch\u assoc($update)
,您将不会收到更多错误