以下是代码:
$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
。
我无法理解这种行为。我希望有人解释上面的代码及其行为方式?
答案 0 :(得分:5)
尝试以下代码。
$update = $db->query("UPDATE $table SET price = '$price' WHERE sku = '$sku'");
if ($update) {
printf("Records Updated: %d\n", mysql_affected_rows());
}
希望这有帮助。
答案 1 :(得分:0)
$ db->查询返回对象结果 试试这个 : $ affected_rows = $ db-> exec(" UPDATE表SET字段='值'"); echo $ affected_rows。'受到影响' 更多http://php.net/manual/en/pdo.exec.php