Loading...
PHP/MySQL | Оператор if
php
if ($user['test1']>'19')mysql_result(mysql_query("UPDATE `users` SET `money` = '".($user['money']+1000)."' WHERE `id` = '1'"));
if ($user['test2']>'29')mysql_result(mysql_query("UPDATE `users` SET `money` = '".($user['money']+2000)."' WHERE `id` = '1'"));
if ($user['test3']>'39')mysql_result(mysql_query("UPDATE `users` SET `money` = '".($user['money']+3000)."' WHERE `id` = '1'"));


Есть проверка набрал ли пользователь определенное значение, если набрал - выдаются монеты.

А теперь проблема:

По отдельности операторы работают хорошо, запросы идут как положено. Если включить все три, то выполняется только последний, хотя все требования выполнены пользователем.

Как сделать что бы все три запроса срабатывали, если все условия выполнены?
а зачем в запросах mysql_result ???
Four , его в нем нет, я вставил что бы узнать спросит ли кто))
php
if ($user['test1']>'19')mysql_query("UPDATE `users` SET `money` = '".($user['money']+1000)."' WHERE `id` = '1'");


Код выглядит так
StoneL (16 сен 2022, в 23:35)
php
if ($user['test1']>'19')mysql_result(mysql_query("UPDATE `users` SET `money` = '".($user['money']+1000)."' WHERE `id` = '1'"));
if ($user['test2']>'29')mysql_result(mysql_query("UPDATE `users` SET `money` = '".($user['money']+2000)."' WHERE `id` = '1'"));
if ($user['test3']>'39')mysql_result(mysql_query("UPDATE `users` SET `money` = '".($user['money']+3000)."' WHERE `id` = '1'"));


Есть проверка набрал ли пользователь определенное значение, если набрал - выдаются монеты.

А теперь проблема:

По отдельности операторы работают хорошо, запросы идут как положено. Если включить все три, то выполняется только последний, хотя все требования выполнены пользователем.

Как сделать что бы все три запроса срабатывали, если все условия выполнены?
Дак всё просто
Ты обновляешь значение в DB но переменная $user['money'] не обновляется, к примеру $user['money'] = 1000, в 1 запросе мы пишем $user['money'] + 1000 в БД перезаписалось старое значение на новое (то есть 2000)
Во втором мы пишем $user['money'] + 2000 в БД перезаписалось старое значение на новое (то есть 3000) и так далее.
Что бы работали все, нужно писать запрос
sql
UPDATE `users` SET `money` = `money` + 2000 WHERE `id` = '1'"

тогда получается что мы обновляем то значение которое записано в БД
________
посл. ред. 17.09.2022 в 01:24; всего 1 раз(а); by mrcatoff
Онлайн: 7
Время:
Gen. 0.0793
(c) Bym.Guru 2010-2025