在我的开发环境中,对mysqli_affected_rows($ link)的所有调用都意外返回-1,表示某种错误。
从SQL控制台执行的相同SQL按预期工作。
为了避免人们试图理解代码,我用一个非常简单的测试脚本重写了这个问题,如下所示:
<?php
// $DB parameters deleted
$link = @mysqli_connect($DBHOSTNAME, $DBUSER, $DBPASSWORD, $DBNAME);
$query = 'UPDATE control SET message = 66476 WHERE controlid = "lastgood"';
$rs = mysqli_query($link, $query);
$nbr = mysqli_affected_rows($link);
echo $nbr;
?>
此脚本返回-1。我环境中的某些东西正在破坏mysqli_affected_rows()。