数据库列出项目及其库存计数。当有人购买物品时,我希望更新数据库中的库存数量。
无论以下减法f_item_number = f_item_number - $mugAmount
如何,我的更新声明都不起作用。
如果我在数据库中有200个马克杯。当我运行以下语句时,新的马克杯数量之后被错误地列为-1。而不是预期值199.为什么会这样?
DB::update('UPDATE `shop_items` SET `f_item_number` = ? WHERE `f_item_name` = ?', array(`f_item_number` - $mugAmount, "mug"));
答案 0 :(得分:2)
您无法在参数中传入数据库列文本。试试这个
DB::update('UPDATE `shop_items` SET `f_item_number` = `f_item_number` - ? WHERE `f_item_name` = ?', array($mugAmount, "mug"));