在我的开发环境中,对 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()。
最佳答案
https://bugs.php.net/bug.php?id=67348 记录了一个错误通过调试器操作时使用 mysqli_affected_rows。
关于mysqli_affected_rows() 始终返回 -1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28121522/