- mysqli_error_list
- Parameters
- Return Values
- Examples
- See Also
- Обработка ошибок в соединении и запросах к базе данных в PHP (mysqli_connect_error, mysqli_connect_errno, mysqli_error, mysqli_errno)
- Ошибка соединения с базой данных
- Ошибка запроса к базе
- mysqli_errno
- Parameters
- Return Values
- Examples
- See Also
- mysqli_error
- Список параметров
- Возвращаемые значения
- Примеры
- Смотрите также
mysqli_error_list
Returns a array of errors for the most recent MySQLi function call that can succeed or fail.
Parameters
Procedural style only: A mysqli object returned by mysqli_connect() or mysqli_init()
Return Values
A list of errors, each as an associative array containing the errno, error, and sqlstate.
Examples
Example #1 $mysqli->error_list example
$mysqli = new mysqli ( «localhost» , «nobody» , «» );
?php
/* check connection */
if ( mysqli_connect_errno ()) printf ( «Connect failed: %s\n» , mysqli_connect_error ());
exit();
>
if (! $mysqli -> query ( «SET a=1» )) print_r ( $mysqli -> error_list );
>
/* close connection */
$mysqli -> close ();
?>
$link = mysqli_connect ( «localhost» , «my_user» , «my_password» , «world» );
?php
/* check connection */
if ( mysqli_connect_errno ()) printf ( «Connect failed: %s\n» , mysqli_connect_error ());
exit();
>
if (! mysqli_query ( $link , «SET a=1» )) print_r ( mysqli_error_list ( $link ));
>
/* close connection */
mysqli_close ( $link );
?>
The above examples will output:
Array ( [0] => Array ( [errno] => 1193 [sqlstate] => HY000 [error] => Unknown system variable 'a' ) )
See Also
- mysqli_connect_errno() — Returns the error code from last connect call
- mysqli_connect_error() — Returns a description of the last connection error
- mysqli_error() — Returns a string description of the last error
- mysqli_sqlstate() — Returns the SQLSTATE error from previous MySQL operation
Обработка ошибок в соединении и запросах к базе данных в PHP (mysqli_connect_error, mysqli_connect_errno, mysqli_error, mysqli_errno)
Правильная обработка ошибок позволяет сделать стабильное приложение, которое не будет завершаться неожиданно. В случае возникновения непредвиденной ситуации программа должна выдавать вменяемый ответ, почему она не хочет исполнится. И создание правильного механизма обработки ошибок — это задача программиста.
В этой статье рассмотрим два вида ошибок, которые могут возникнуть при программировании взаимодействия с базой данных. Первый тип — это ошибка подключения к базе данных. Второй тип — это ошибка выполнения запроса к базе данных. Для обработки этих ошибок будем использовать специальные функции для работы с базой.
Ошибка соединения с базой данных
'; echo 'Код ошибки: ' . mysqli_connect_errno(); >else < // соединение было установлено успешно // здесь можно делать запрос к базе, // потому что соединение успешно установлено >?>
В этом примере можно заметить функцию mysqli_connect_error. Она выводит текстовое описание ошибки подключения (на английском языке). В отличии от неё функция mysqli_connect_errno выводит числовой код ошибки, к примеру «1045».
Ошибка запроса к базе
Теперь попробуем доработать пример из предыдущего параграфа и добавить запрос к базе данных. Не будем вдаваться в детали, что будет записано в тексте SQL запроса, просто предположим, что он может завершиться ошибкой. К примеру, из-за неожиданного отключения сервера с базой данных от сети. В примере добавим проверку на наличие ошибок при выполнении запроса:
'; echo 'Код ошибки: ' . mysqli_connect_errno(); >else< // подключение успешно установлено // текст SQL запроса, который будет передан базе $query = 'SELECT * FROM `USERS`'; // выполняем запрос к базе данных $result = mysqli_query($connection, $query); if(!$result)< // запрос завершился ошибкой echo 'Ошибка запроса: ' . mysqli_error($connection) . '
'; echo 'Код ошибки: ' . mysqli_errno($connection); >else< // запрос успешно выполнился while($row = $result->fetch_assoc()) < // обрабатываем полученные данные >> // закрываем соединение с базой mysqli_close($connection); > ?>
В этом примере есть две функции, которые работают с ошибками базы. Функция mysqli_error возвращает описание ошибки запроса (на английском языке), а функция mysqli_errno возвращает числовой код ошибки, к примеру, «1193».
Обратите внимание, что все функции обработки ошибок в этой статье (mysqli_connect_error, mysqli_connect_errno, mysqli_error, mysqli_errno) возвращают информацию только о последней ошибке. Но ошибок может быть несколько.
mysqli_errno
Returns the last error code for the most recent MySQLi function call that can succeed or fail.
Parameters
Procedural style only: A mysqli object returned by mysqli_connect() or mysqli_init()
Return Values
An error code value for the last call, if it failed. zero means no error occurred.
Examples
Example #1 $mysqli->errno example
$mysqli = new mysqli ( «localhost» , «my_user» , «my_password» , «world» );
?php
/* check connection */
if ( $mysqli -> connect_errno ) printf ( «Connect failed: %s\n» , $mysqli -> connect_error );
exit();
>
if (! $mysqli -> query ( «SET a=1» )) printf ( «Errorcode: %d\n» , $mysqli -> errno );
>
/* close connection */
$mysqli -> close ();
?>
$link = mysqli_connect ( «localhost» , «my_user» , «my_password» , «world» );
?php
/* check connection */
if ( mysqli_connect_errno ()) printf ( «Connect failed: %s\n» , mysqli_connect_error ());
exit();
>
if (! mysqli_query ( $link , «SET a=1» )) printf ( «Errorcode: %d\n» , mysqli_errno ( $link ));
>
/* close connection */
mysqli_close ( $link );
?>
The above examples will output:
See Also
- mysqli_connect_errno() — Returns the error code from last connect call
- mysqli_connect_error() — Returns a description of the last connection error
- mysqli_error() — Returns a string description of the last error
- mysqli_sqlstate() — Returns the SQLSTATE error from previous MySQL operation
mysqli_error
Возвращает сообщение об ошибке последнего вызова функции MySQLi, который может успешно выполниться или провалиться.
Список параметров
Только для процедурного стиля: Идентификатор соединения, полученный с помощью mysqli_connect() или mysqli_init()
Возвращаемые значения
Строка с описанием ошибки. Пустая строка, если ошибки нет.
Примеры
Пример #1 Пример с $mysqli->error
$mysqli = new mysqli ( «localhost» , «my_user» , «my_password» , «world» );
?php
/* check connection */
if ( $mysqli -> connect_errno ) printf ( «Connect failed: %s\n» , $mysqli -> connect_error );
exit();
>
if (! $mysqli -> query ( «SET a=1» )) printf ( «Errormessage: %s\n» , $mysqli -> error );
>
/* close connection */
$mysqli -> close ();
?>
$link = mysqli_connect ( «localhost» , «my_user» , «my_password» , «world» );
?php
/* check connection */
if ( mysqli_connect_errno ()) printf ( «Connect failed: %s\n» , mysqli_connect_error ());
exit();
>
if (! mysqli_query ( $link , «SET a=1» )) printf ( «Errormessage: %s\n» , mysqli_error ( $link ));
>
/* close connection */
mysqli_close ( $link );
?>
Результат выполнения данных примеров:
Errormessage: Unknown system variable 'a'
Смотрите также
- mysqli_connect_errno() — Возвращает код ошибки последней попытки соединения
- mysqli_connect_error() — Возвращает описание последней ошибки подключения
- mysqli_errno() — Возвращает код ошибки последнего вызова функции
- mysqli_sqlstate() — Возвращает код состояния SQLSTATE последней MySQL операции