如何简化此数据库更新查询(php)

Chr*_*phe 3 php simplify

我该如何简化此更新说明?每当客户购买商品时,它将使用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;
Run Code Online (Sandbox Code Playgroud)

我不能让它更简单,所以有更少的线,例如:

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

这可能吗?如果不是,谢谢

Pas*_*TIN 6

使用以下SQL查询怎么样:

update shop_items
set amount = amount + 1
where itemid = 123
Run Code Online (Sandbox Code Playgroud)

基本上,在一个SQL查询中,您将其设置amount为之前的值,加上一个.
不需要两个查询;-)


将它集成到PHP代码中应该会给你这样的东西:

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

注意:我刚刚用您_current_value_正在处理的字段的名称替换了您:amount.