(PHP 5, PHP 7, PHP 8)
mysqli::$sqlstate -- mysqli_sqlstate — Devuelve el error SQLSTATE de la última operación MySQL
Estilo orientado a objetos
Estilo por procedimientos
Devuelve un string que contiene el código de error SQLSTATE del último error.
El código de error '00000'
significa: "sin errores". Los valores
están especificados por los estándares ANSI SQL y ODBC. Para una lista de los valores
posibles, consulte: » http://dev.mysql.com/doc/mysql/en/error-handling.html.
Nota:
Tenga en cuenta que no todos los errores de MySQL tienen aún una correspondencia con los errores SQLSTATE. El valor
HY000
(error general) se utiliza para los errores sin correspondencia.
link
Sólo estilo por procediminetos: Un identificador de enlace devuelto por mysqli_connect() o mysqli_init()
Devuelve un string que contiene el código de error
SQLSTATE del último error. El código está compuesto por
5 caracteres: '00000'
representa la ausencia
de errores.
Ejemplo #1 Ejemplo con $mysqli->sqlstate
Estilo orientado a objetos
<?php
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");
/* La tabla Ciudad ya existe, deberíamos tener un error */
try {
$mysqli->query("CREATE TABLE City (ID INT, Name VARCHAR(30))");
} catch (mysqli_sql_exception) {
printf("Error - SQLSTATE %s.\n", $mysqli->sqlstate);
}
Estilo por procedimientos
<?php
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$link = mysqli_connect("localhost", "my_user", "my_password", "world");
/* La tabla Ciudad ya existe, deberíamos tener un error */
try {
mysqli_query($link, "CREATE TABLE City (ID INT, Name VARCHAR(30))");
} catch (mysqli_sql_exception) {
printf("Error - SQLSTATE %s.\n", mysqli_sqlstate($link));
}
El resultado de los ejemplos sería:
Error - SQLSTATE 42S01.