2012-07-29 4 views
4

У меня есть база данных mysql с балансом столбца. Эта таблица используется для хранения данных о балансе учетной записи пользователя, поэтому как добавить числа в оператор mysql?добавление чисел в sql

вот что я до сих пор

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

так что я должен а) получить текущий баланс с тузд запроса на выборку? и б) то, что я могу использовать, чтобы добавить целое число 5 к балансу столбца, то MySQL строка дважды (16,2)

+2

Я чувствую, что я должен напомнить всем вам, чтобы следить за инъекции SQL, возможно, используя подготовленные заявления. –

ответ

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 . "') "; 

Edit:

Возможно, вы можете сделать чек, чтобы убедиться, что balance + 5 не выходит за рамки типа данных balance в PHP, используя что-то, что вряд ли может столкнуться с проблемами, такими как функции bcmath. (Делает математику с помощью заданной точности с сравнения строк)

Смежные вопросы