Aller au contenu

erreur

Dans cet article, nous nous concentrerons sur la fonction mysqli_error() en PHP, qui est utilisée pour récupérer le message d'erreur de la dernière fonction MySQLi appelée. Nous vous fournirons un aperçu de la fonction, son fonctionnement et des exemples d'utilisation.

Introduction à la fonction mysqli_error()

La fonction mysqli\_error() est une fonction PHP intégrée qui renvoie le message d'erreur de la dernière opération MySQLi. Si aucune erreur ne s'est produite, elle renvoie une chaîne vide. Cette fonction est utile lorsque vous devez gérer les erreurs dans votre code MySQLi et prendre les mesures appropriées en fonction du message renvoyé.

Comment utiliser la fonction mysqli_error()

L'utilisation de la fonction mysqli\_error() est simple. Vous l'appellez sur un objet de connexion MySQLi valide. Voici un exemple :

Comment utiliser la fonction mysqli_error() ?

php
<?php
$mysqli = mysqli_connect("localhost", "username", "password", "database");

$query = "SELECT * FROM my_table";
$result = mysqli_query($mysqli, $query);

if (!$result) {
    $error_msg = mysqli_error($mysqli);
    echo "Failed to execute query. Error message: " . $error_msg;
    exit();
}

mysqli_close($mysqli);
?>

Dans cet exemple, nous appelons la fonction mysqli_connect() pour nous connecter à une base de données MySQL. Nous exécutons ensuite une requête à l'aide de la fonction mysqli_query() et stockons le résultat dans une variable. Nous vérifions s'il y a eu une erreur dans la requête à l'aide de la condition !$result. S'il y a une erreur, nous passons l'objet de connexion à mysqli_error() pour récupérer le message d'erreur spécifique, l'afficher et terminer le script.

Remarque : Vérifiez toujours que mysqli_connect() renvoie un objet valide avant d'exécuter des requêtes. Si la connexion échoue, mysqli_query() déclenchera un avertissement PHP.

Utilisation avancée

La fonction mysqli\_error() peut également être utilisée sur plusieurs connexions. Voici un exemple :

Utilisation avancée de PHP mysqli_error()

php
<?php
$mysqli1 = mysqli_connect("localhost", "username", "password", "database1");
$mysqli2 = mysqli_connect("localhost", "username", "password", "database2");

$query = "SELECT * FROM my_table";
$result1 = mysqli_query($mysqli1, $query);
$result2 = mysqli_query($mysqli2, $query);

if (!$result1) {
    $error_msg = mysqli_error($mysqli1);
    echo "Failed to execute query on connection 1. Error message: " . $error_msg;
    exit();
}

if (!$result2) {
    $error_msg = mysqli_error($mysqli2);
    echo "Failed to execute query on connection 2. Error message: " . $error_msg;
    exit();
}

mysqli_close($mysqli1);
mysqli_close($mysqli2);
?>

Dans cet exemple, nous établissons deux connexions distinctes et exécutons la même requête sur chacune. Nous vérifions le résultat pour chaque connexion indépendamment. Si une requête échoue, nous passons l'objet de connexion correspondant à mysqli_error() pour isoler et afficher l'erreur spécifique.

Remarque sur la gestion moderne des erreurs : Pour les applications PHP plus récentes, envisagez d'activer la gestion des erreurs basée sur les exceptions avec mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT). Cela génère automatiquement des objets mysqli_sql_exception en cas d'erreur, réduisant ainsi le besoin de vérifications manuelles de mysqli_error() dans de nombreux cas.

Conclusion

En conclusion, la fonction mysqli_error() est un outil pratique pour le débogage et la gestion des erreurs MySQLi. En vérifiant la validité de la connexion et en comprenant comment récupérer des messages d'erreur spécifiques, vous pouvez créer des interactions avec la base de données plus résilientes.

Practice

Quelles sont certaines façons de gérer les erreurs en PHP ?

Trouvez-vous cela utile?

Aperçu dual-run — comparez avec les routes Symfony en production.