如何使用php减去mysql中的数量

时间:2013-11-06 06:20:18

标签: php mysql sql

当我使用+符号运行以下查询时,它会添加值并显示正确的结果但是当我用符号替换+符号时,它仍然显示正确的结果但显示 - 结果前面的符号。为什么显示 - 登录结果?

请帮我解决此问题,谢谢

  

ON DUPLICATE KEY UPDATE quantity='$quantity'-quantity ")

显示结果如此

--------------
 quantity row
--------------
    -5
--------------

这不是很完美

$result = mysql_query("INSERT INTO stock SET date='$date',company='$company',itemname='$itemname',quantity='$quantity',category='$category',signature='$signature' 
ON DUPLICATE KEY UPDATE quantity='$quantity'-quantity ")

这是有效的

$result = mysql_query("INSERT INTO stock SET date='$date',company='$company',itemname='$itemname',quantity='$quantity',category='$category',signature='$signature' 
ON DUPLICATE KEY UPDATE quantity='$quantity'+quantity ")

我插入查询togetter 这是我的完整代码,但第一个工作正常,但第二个有问题

         // save the data to the database
          mysql_query("INSERT INTO  recivereturn SET date='$date',company='$company',itemname='$itemname',quantity='$quantity',category='$category',signature='$signature'");

$result = mysql_query("INSERT INTO stock SET date='$date',company='$company',itemname='$itemname',quantity='$quantity',category='$category',signature='$signature' 
ON DUPLICATE KEY UPDATE quantity=$quantity-quantity ")

3 个答案:

答案 0 :(得分:2)

你几乎肯定会向后减法。您可能希望从列的当前值中减去变量,反之亦然:

ON DUPLICATE KEY UPDATE quantity = quantity - '$quantity'

答案 1 :(得分:0)

尝试

"ON DUPLICATE KEY UPDATE quantity=".$quantity."-quantity ")

$result = mysql_query("INSERT INTO stock 
                       SET date='$date',company='$company',itemname='$itemname',quantity='$quantity',
                       category='$category',signature='$signature' 
                       ON DUPLICATE KEY UPDATE quantity= ".$quantity."+quantity ")

答案 2 :(得分:0)

请在没有引号的情况下尝试$ amount。

$result = mysql_query("INSERT INTO stock SET date='$date',company='$company',itemname='$itemname',quantity='$quantity',category='$category',signature='$signature' 
ON DUPLICATE KEY UPDATE quantity=$quantity-quantity ");