2012-07-29 72 views
4

我有一个具有列平衡的mysql数据库。此表用于存储有关用户帐户余额的数据,因此如何在mysql语句中添加数字?在sql中添加数字

这里是我迄今为止

$sql_data = "UPDATE `database1`.`users` SET (`balance`) = '(what to put here?)' 
WHERE ('" . $mysqlid . "') "; 

所以我有一个)检索与一个MySQL选择查询当前余额? 和b)我用什么来整数5添加到列平衡,MySQL的行双(16,2)

+2

我觉得我应该提醒大家注意一下SQL注入,可能通过使用准备好的语句。 – 2012-07-29 05:58:01

回答

1

试试这个:

$bal=100.5; // balance to be add 
$sql_data = "UPDATE `database1`.`users` SET `balance` = (`balance`+'$bal') WHERE ('" . $mysqlid . "') "; 
1

你可以这样做:

$sql_data = "UPDATE `database1`.`users` SET `balance` = (`balance` + [value to be added]) WHERE ('" . $mysqlid . "') "; 
2
$sql_data = "UPDATE `database1`.`users` SET `balance` = MIN(`balance` + 5, (maximum_value_they_can_have)) WHERE ('" . $mysqlid . "') "; 

编辑:

可以说你可以做一个检查来验证balance + 5不会超越PHP的balance数据类型的界限,使用不太可能遇到问题的东西,比如bcmath函数。 (通过给定精度数学是否与字符串比较)