如何简化此更新指令?每当客户端购买商品时,都会使用1更新销售额。

$this->db->query('SELECT amount FROM shop_items WHERE itemid='.$itemid.'');   
$new_amount = $item->amount+1;
    if(!$this->db->query('UPDATE shop_items SET amount='.$new_amount.' WHERE itemid='.$itemid.'')):
    return false;
    endif;

我不能使它更简单,因此有更少的行:例如:

if(!$this->db->query('UPDATE shop_items SET amount=_current_value_+1 WHERE itemid='.$itemid.'')):
return false;
endif;

这可能吗?如果不谢谢

有帮助吗?

解决方案

如何使用以下SQL查询:

update shop_items
set amount = amount + 1
where itemid = 123

基本上,在一个SQL查询中,您将 amount 它具有先前的值,再加上一个。
无需两个查询;-)


将其集成到您的PHP代码中应该给您一些看起来像这样的东西:

if (!$this->db->query('UPDATE shop_items SET amount=amount+1 WHERE itemid='.$itemid.'')) :
    return false;
endif;

注意:我刚刚取代了你 _current_value_ 按您正在从事的字段的名称: amount.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top