Php mysqli error codes

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» , «» );

/* 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» );

/* 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» );

/* 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» );

/* 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» );

/* 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» );

/* 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 операции

Источник

Читайте также:  Java exception handling best practices
Оцените статью