首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP查询更新行计数

问PHP查询更新行计数
EN

Stack Overflow用户
提问于 2014-06-10 19:05:53
回答 2查看 1.1K关注 0票数 0

我是一个.NET程序员,很少使用PHP。如何判断此查询是否失败或此查询是否更新了0行?我正在使用OpenCart:

代码语言:javascript
复制
public function updateInventory($product_id, $quantity)
{
    $query = $this->db->query("Update " . DB_PREFIX . "product SET quantity ='" . $this->db->escape($quantity) . "' WHERE sku='" . $this->db->escape($product_id) . "'");
    return "OK";

}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-06-11 07:37:25

替换

代码语言:javascript
复制
 return "OK";

使用(取决于用于连接数据库的库)。mysql,mysqli或pdo)

代码语言:javascript
复制
return mysql_affected_rows();

会给你带来受影响的行。这是来自PHP代码方面的。Opencart有一个可以使用的默认函数:$this->db->countAffected()

但我不知道他们是否通过不同的版本保持不变。

来源:http://us3.php.net//manual/en/function.mysql-affected-rows.php

希望一切都足够清楚。

票数 3
EN

Stack Overflow用户

发布于 2014-06-10 21:10:37

您可能没有更新的产品数量,因为您正在比较SKU和product_id在您的查询。

如果要通过product_id更新产品数量,则需要将表达式更改为以下表达式:

代码语言:javascript
复制
'UPDATE `' . DB_PREFIX . 'product` SET `quantity` =' . (int)$quantity . ' WHERE `product_id`= " . (int)$product_id

"WHERE product_id = some_product_id“而不是”some_product_id sku = some_product_id“

将SKU与product_id在WHERE语句中进行比较是查询更新0行的原因。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24148994

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档