PHP/MySQL | Оператор if
   
  
 
         
         
     Тема закрыта by 
 StoneL      
Причина: Решено
 
 
 
  
Причина: Решено
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 ???   
  
    
  
 
 
 
php
if ($user['test1']>'19')mysql_query("UPDATE `users` SET `money` = '".($user['money']+1000)."' WHERE `id` = '1'");Код выглядит так
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