mysqli_stmt::$sqlstate

mysqli_stmt_sqlstate

(PHP 5, PHP 7)

mysqli_stmt::$sqlstate -- mysqli_stmt_sqlstateDevuelve el error SQLSTATE de la operación de sentencia previa

Descripción

Estilo orientado a objetos

Estilo por procedimientos

mysqli_stmt_sqlstate ( mysqli_stmt $stmt ) : string

Devuelve una cadena que contiene el código de error SQLSTATE de la función más recientemente invocada de sentencia preparada que tuvo éxito o falló. El código de error consiste en cinco caracteres. '00000' significa sin error. Los valores están especificados por ANSI SQL y ODBC. Para una lista de valores posibles, véase » http://dev.mysql.com/doc/mysql/en/error-handling.html.

Parámetros

stmt

Sólo estilo por procediminetos: Un identificador de declaraciones devuelto por mysqli_stmt_init().

Valores devueltos

Devuelve una cadena que contiene el código de error SQLSTATE del último error. El código de error consiste en cinco caracteres. '00000' significa sin error.

Notas

Nota:

Observe que aún no están referenciados todos los errores de MySQL a SQLSTATE. El valor HY000 (error general) se utiliza para errores no referenciados.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php
/* Abrir una conexión */
$mysqli = new mysqli("localhost""mi_usuario""mi_contraseña""world");

/* comprobar la conexión */
if (mysqli_connect_errno()) {
    
printf("Falló la conexión: %s\n"mysqli_connect_error());
    exit();
}

$mysqli->query("CREATE TABLE myCountry LIKE Country");
$mysqli->query("INSERT INTO myCountry SELECT * FROM Country");


$consulta "SELECT Name, Code FROM myCountry ORDER BY Name";
if (
$sentencia $mysqli->prepare($consulta)) {

    
/* eliminar la tabla */
    
$mysqli->query("DROP TABLE myCountry");

    
/* ejecutar la sentencia */
    
$sentencia->execute();

    
printf("Error: %s.\n"$sentencia->sqlstate);

    
/* cerrar la sentencia */
    
$sentencia->close();
}

/* cerrar la conexión */
$mysqli->close();
?>

Ejemplo #2 Estilo por procedimientos

<?php
/* Abrir una conexión */
$enlace mysqli_connect("localhost""mi_usuario""mi_contraseña""world");

/* comprobar la conexión */
if (mysqli_connect_errno()) {
    
printf("Falló la conexión: %s\n"mysqli_connect_error());
    exit();
}

mysqli_query($enlace"CREATE TABLE myCountry LIKE Country");
mysqli_query($enlace"INSERT INTO myCountry SELECT * FROM Country");


$consulta "SELECT Name, Code FROM myCountry ORDER BY Name";
if (
$sentencia mysqli_prepare($enlace$consulta)) {

    
/* eliminar la tabla */
    
mysqli_query($enlace"DROP TABLE myCountry");

    
/* ejecutar la sentencia */
    
mysqli_stmt_execute($sentencia);

    
printf("Error: %s.\n"mysqli_stmt_sqlstate($sentencia));

    
/* cerrar la sentencia */
    
mysqli_stmt_close($sentencia);
}

/* cerrar la conexión */
mysqli_close($enlace);
?>

El resultado de los ejemplos sería:

Error: 42S02.

Ver también

  • mysqli_stmt_errno() - Devuelve el código de error de la llamada de la sentencia más reciente
  • mysqli_stmt_error() - Devuelve una descripción en forma de string del último error de una sentencia