Проверьте, являются ли условия запроса истинными или ложными - PullRequest
0 голосов
/ 23 сентября 2018

В моем скрипте значение добавляется, пока его емкость не будет достигнута.Тогда это больше не должно быть увеличено.Я делаю это так:

$query = "UPDATE TableOne SET amount = amount + 1 WHERE id = 1 AND amount < capacity";

Значение обновляется, как и должно, и перестает повышаться при достижении емкости.Затем я хотел проверить, был ли запрос успешным или нет, я попробовал его с if(mysqli_query($con,$query)), но он всегда возвращает true, даже когда сумма достигла емкости, и в таблице не изменилось значение.Когда это условие неверно, не должен ли весь запрос быть неправильным, или как я могу проверить, верно ли это или нет?

Для контекста часть скрипта:

<?php

$con = new mysqli($server, $username, $pass, $db);  

$query = "UPDATE TableOne SET amount = amount + 1 WHERE id = 1 AND amount < capacity";

  if(mysqli_query($con,$query)){             
      echo 'true';   
  } else {    
      echo 'false';    
  }

 mysqli_close($con);  
?>

1 Ответ

0 голосов
/ 23 сентября 2018

Попробуйте отладить с помощью printf(), как записи могут повлиять на ваш запрос на обновление, подобный этому.См. mysqli_affered_rows

printf("Affected rows (UPDATE): %d\n", mysqli_affected_rows($con));

Для вашего случая что-то вроде этого:

mysqli_query($con,$query);

if(mysqli_affected_rows($con) > 0){             
      echo 'true';   
  } else {    
      echo 'false';    
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...