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()