Как проверить, является ли запрос MySQL успешным, кроме использования функции die()
Я пытаюсь достичь …
mysql_query($query); if(success){ //move file } else if(fail){ //display error }
Это первый пример на странице руководства для mysql_query
:
$result = mysql_query('SELECT * WHERE 1=1'); if (!$result) { die('Invalid query: ' . mysql_error()); }
Если вы хотите использовать что-то другое, кроме как die
, тогда я предлагаю trigger_error
.
Вы также можете использовать mysql_errno()
.
$result = mysql_query($query); if(mysql_errno()){ echo "MySQL error ".mysql_errno().": " .mysql_error()."\n<br>When executing <br>\n$query\n<br>"; }
Если ваш запрос не удался, вы получите возвращаемое значение FALSE. В противном случае вы получите ресурс / ИСТИНА.
$result = mysql_query($query); if(!$result){ /* check for error, die, etc */ }
В принципе, пока это не ложно, все в порядке. Впоследствии вы можете продолжить свой код.
if(!$result)
Эта часть кода фактически выполняет ваш запрос.
Функция mysql_query
используется для выполнения запроса mysql в php. mysql_query
возвращает false, если выполнение запроса не выполняется. Альтернативно вы можете попробовать использовать mysql_error()
Например,
$result=mysql_query($sql)
или
die(mysql_error());
В приведенном выше фрагменте кода, если выполнение запроса не выполняется, оно прекратит выполнение и отобразит ошибку mysql во время выполнения запроса sql.
положить только:
or die(mysqli_error());
после вашего запроса
и он будет исправлять ошибку как echo
пример
// "Your Query" means you can put "Select/Update/Delete/Set" queries here $qfetch = mysqli_fetch_assoc(mysqli_query("your query")) or die(mysqli_error()); if (mysqli_errno()) { echo 'error' . mysqli_error(); die(); }
если вы используете MySQLi
bind_param, попробуйте поставить эту строку над запросом
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);