php - 执行更新查询后如何获得受影响的行数?

标签 php mysql

代码如下:

$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/

相关文章:

php - 使用 zmq 和 composer 安装 Ratchet 库

java - 在 php 中解码 JSON 对象

mysql - Linux MySQL - 无法登录root

php - 如何使用 My_Model (Codeigniter) 执行 MySQL 函数?

php - Paypal - 使用 PHP 重定向?

php - 在 PHP 中进行 Coldfusion 解密

php - 如何在全文搜索SQL中获取与列值匹配的字符串

php - 选择特定类别和品牌的产品

mysql删除行保留每个user_id的最后5行

mysql - 如何根据与另一个表的匹配数据将表列设置为特定值