(PHP 5 >= 5.4.0, PHP 7, PHP 8)
mysqli_stmt::$error_list -- mysqli_stmt_error_list — Retourne une liste d'erreurs pour la dernière requête exécutée
Style orienté objet
Style procédural
Retourne un tableau d'erreurs depuis la dernière requête exécutée, qu'elle ait réussi ou non.
statement
Style procédural uniquement : Un objet mysqli_stmt retourné par la fonction mysqli_stmt_init().
Une liste d'erreurs, chacune sous la forme d'un tableau associatif contenant le numéro d'erreur (errno), le message d'erreur (error) et le statut SQL (sqlstate).
Exemple #1 Style orienté objet
<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");
if (mysqli_connect_errno()) {
printf("Échec lors de la connexion : %s\n", mysqli_connect_error());
exit();
}
$mysqli->query("CREATE TABLE myCountry LIKE Country");
$mysqli->query("INSERT INTO myCountry SELECT * FROM Country");
$query = "SELECT Name, Code FROM myCountry ORDER BY Name";
if ($stmt = $mysqli->prepare($query)) {
$mysqli->query("DROP TABLE myCountry");
$stmt->execute();
echo "Erreur :\n";
print_r($stmt->error_list);
$stmt->close();
}
$mysqli->close();
?>
Exemple #2 Style procédural
<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");
if (mysqli_connect_errno()) {
printf("Échec lors de la connexion : %s\n", mysqli_connect_error());
exit();
}
mysqli_query($link, "CREATE TABLE myCountry LIKE Country");
mysqli_query($link, "INSERT INTO myCountry SELECT * FROM Country");
$query = "SELECT Name, Code FROM myCountry ORDER BY Name";
if ($stmt = mysqli_prepare($link, $query)) {
mysqli_query($link, "DROP TABLE myCountry");
mysqli_stmt_execute($stmt);
echo "Erreur :\n";
print_r(mysql_stmt_error_list($stmt));
mysqli_stmt_close($stmt);
}
mysqli_close($link);
?>
Les exemples ci-dessus vont afficher :
Error: Array ( [0] => Array ( [errno] => 1146 [sqlstate] => 42S02 [error] => Table 'world.myCountry' doesn't exist ) )