(PHP 5, PHP 7)
mysqli::$sqlstate -- mysqli_sqlstate — Возвращает код состояния SQLSTATE последней MySQL операции
Объектно-ориентированный стиль
Процедурный стиль
Возвращает строку с SQLSTATE кодом последней ошибки. Этот код состоит из пяти символов. '00000' означает отсутствие ошибок. Эти коды определены в стандарте ANSI, а также в ODBC. Посмотреть список возможных значений можно на странице » http://dev.mysql.com/doc/mysql/en/error-handling.html.
Замечание:
Следует заметить, что еще не все MySQL ошибки имеют отражение в SQLSTATE кодах. Для подобных ошибок используется код HY000 (общая ошибка).
link
Только для процедурного стиля: Идентификатор соединения, полученный с помощью mysqli_connect() или mysqli_init()
Возвращает строку с SQLSTATE кодом последней ошибки. Этот код состоит из пяти символов. '00000' означает отсутствие ошибок.
Пример #1 Пример использования $mysqli->sqlstate
Объектно-ориентированный стиль
<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");
/* проверка соединения */
if (mysqli_connect_errno()) {
printf("Не удалось подключиться: %s\n", mysqli_connect_error());
exit();
}
/* таблица City уже существует, так что мы должны получить ошибку */
if (!$mysqli->query("CREATE TABLE City (ID INT, Name VARCHAR(30))")) {
printf("Ошибка - SQLSTATE %s.\n", $mysqli->sqlstate);
}
$mysqli->close();
?>
Процедурный стиль
<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");
/* проверка соединения */
if (mysqli_connect_errno()) {
printf("Не удалось подключиться: %s\n", mysqli_connect_error());
exit();
}
/* таблица City уже существует, так что мы должны получить ошибку */
if (!mysqli_query($link, "CREATE TABLE City (ID INT, Name VARCHAR(30))")) {
printf("Ошибка - SQLSTATE %s.\n", mysqli_sqlstate($link));
}
mysqli_close($link);
?>
Результат выполнения данных примеров:
Ошибка - SQLSTATE 42S01.