mysqli_error
mysqli_error($db)
Renvoie le texte d’erreur du dernier appel sur la connexion (une requête, la sélection d’une base…), ou une chaîne vide s’il n’y a pas eu d’erreur. Le numéro d’erreur est renvoyé par mysqli_errno(). Avec les exceptions (MYSQLI_REPORT_STRICT), le texte se trouve dans $e->getMessage().
Paramètres
- $db – la connexion.
Exemples
mysqli_report(MYSQLI_REPORT_OFF);
$db = mysqli_connect("localhost", "user", "password", "shop");
if (!mysqli_query($db, "SELECT missing_column FROM products")) {
echo mysqli_errno($db); // 1054
echo mysqli_error($db); // Unknown column 'missing_column' in 'field list'
}
mysqli_query($db, "SELECT 1");
var_dump(mysqli_error($db)); // string(0) ""
Points d’attention
- Le texte d’erreur peut révéler la structure de la base – ne l’affichez pas sur la page, écrivez-le dans le journal.
- L’appel réussi suivant efface l’erreur – lisez-la juste après la requête.
- L’ancien
die(mysqli_error($db))des tutoriels affiche l’erreur aux visiteurs et arrête la page à mi-chemin.
Fonctions associées :
mysqli_report()
mysqli_query()
mysqli_connect_error()
error_log()