2014-06-11 37 views
0

我知道如何的SQL查询 所以当前值内增值银行=银行+值

UPDATE users SET Bank=Bank + '$deposit' WHERE Username='".($_SESSION['username'])."'" 

如例如果$存款=“500”这样的字符串/ text = 500 并且示例Bank值为1000则为1500。 现在我尝试减去当前值。

UPDATE users SET Bank=Bank + '-500' WHERE Username='".($_SESSION['username'])."'" 

应该工作。 什么不是的工作原理是:

UPDATE users SET Bank=Bank + '-' + '$deposit' WHERE Username='".($_SESSION['username'])."'" 

UPDATE users SET Bank=Bank + '-$deposit' WHERE Username='".($_SESSION['username'])."'" 

我应该怎么办?

好吧,我卖我自己,感谢大家,试图帮助,你们大家给我带来了对答案的想法:

UPDATE users SET Bank=Bank +- '$deposit' WHERE Username='".($_SESSION['username'])."' 

,而不是只使用

- 

我使用过

+- 

谢谢。

+0

请使用[预处理语句(http://us3.php.net//manual/en/pdo.prepared-statements.php ) –

+0

如果你试图连接字符串..然后不使用+ ..使用CONCAT()...如果你正在尝试做数学,你需要改变它为一个int,所以你可以做计算 –

+0

我尝试将Column Bank的值更新为Bank的当前值减去PHP中$ deposit的值。 –

回答

2

你为什么不只是使用-减法:

"UPDATE users SET Bank = Bank - $deposit WHERE Username = '{$_SESSION['username']}'" 
+0

这就是我所说的,它不工作。 编辑:哦,我从来没有说过。但它仍然没有处理它。 –

+0

你不应该把数字放在引号中,尽管我认为它应该自动引用它们。 – Barmar