我是一个.NET程序员,很少使用PHP。如何判断此查询是否失败或此查询是否更新了0行?我正在使用OpenCart:
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";
}发布于 2014-06-11 07:37:25
替换
return "OK";使用(取决于用于连接数据库的库)。mysql,mysqli或pdo)
return mysql_affected_rows();会给你带来受影响的行。这是来自PHP代码方面的。Opencart有一个可以使用的默认函数:$this->db->countAffected()
但我不知道他们是否通过不同的版本保持不变。
来源:http://us3.php.net//manual/en/function.mysql-affected-rows.php
希望一切都足够清楚。
发布于 2014-06-10 21:10:37
您可能没有更新的产品数量,因为您正在比较SKU和product_id在您的查询。
如果要通过product_id更新产品数量,则需要将表达式更改为以下表达式:
'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行的原因。
https://stackoverflow.com/questions/24148994
复制相似问题