代码如下:
$count = 0;
$update = $db->query("UPDATE $table SET price = '$price' WHERE sku = '$sku'");
if ($update->affected_rows) {
$count++;
}
echo $count;
执行上述代码后,db
中的行得到更新,但 $count
的值为 0
。按照我的假设,$count 的值应该是 122,因为更新了 122 行。我不明白为什么。
当我使用下面的代码时,
if (!$update->affected_rows) {
$count++;
}
$count
变为 212
。
我无法理解这种行为。我希望有人解释上面的代码及其行为方式?
最佳答案
试试下面的代码。
$update = $db->query("UPDATE $table SET price = '$price' WHERE sku = '$sku'");
if ($update) {
printf("Records Updated: %d\n", mysql_affected_rows());
}
希望这对您有所帮助。
关于php - 执行更新查询后如何获得受影响的行数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27376074/