(PHP 5 >= 5.4.0, PHP 7, PHP 8)
mysqli_stmt::$error_list -- mysqli_stmt_error_list — Devuelve una lista de errores de la última sentencia ejecutada
Estilo orientado a objetos
Estilo por procedimientos
Devuelve un array de errores de la función de la sentencia invocada más receientemente que tuvo éxito o falló.
stmt
Sólo estilo por procediminetos: Un identificador de declaraciones devuelto por mysqli_stmt_init().
Una lista de errores, cada uno como un array asociativo que contiene el errno, error, y sqlstate.
Ejemplo #1 Estilo orientado a objetos
<?php
$mysqli = new mysqli("localhost", "mi_usuario", "mi_contraseña", "world");
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)) {
$mysqli->query("DROP TABLE myCountry");
$sentencia->execute();
echo "Error:\n";
print_r($sentencia->error_list);
$sentencia->close();
}
$mysqli->close();
?>
Ejemplo #2 Estilo por procedimientos
<?php
$enlace = mysqli_connect("localhost", "mi_usuario", "mi_contraseña", "world");
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)) {
mysqli_query($enlace, "DROP TABLE myCountry");
mysqli_stmt_execute($sentencia);
echo "Error:\n";
print_r(mysql_stmt_error_list($sentencia));
mysqli_stmt_close($sentencia);
}
mysqli_close($enlace);
?>
El resultado de los ejemplos sería:
Array ( [0] => Array ( [errno] => 1146 [sqlstate] => 42S02 [error] => Table 'world.myCountry' doesn't exist ) )