Vous essayez d'ajouter une fonctionnalité de connexion à un compte social à votre application web, comme la connexion avec un compte Gmail. Voici un tutoriel rapide
Comment améliorer la fiabilité de vos applications PHP et MySQL en utilisant mysqli_error_list() pour identifier et résoudre rapidement les problèmes d'accès à la base de données.
PHP Version: 5.4 +
La fonction mysqli_error_list() est une fonction intégrée en PHP qui permet de récupérer la liste des erreurs associées à la dernière opération MySQL exécutée avec l'extension MySQLi.
La fonction mysqli_error_list() renvoie un tableau contenant les informations sur les erreurs de la dernière requête MySQL exécutée avec l'extension MySQLi.
$mysqli = new mysqli("localhost", "utilisateur", "motdepasse", "ma_base_de_données"); if ($mysqli->connect_error) { die("Erreur de connexion : " . $mysqli->connect_error); } $query = "SELECT * FROM table_inexistante"; $result = $mysqli->query($query); if (!$result) { $error_list = $mysqli->error_list; foreach ($error_list as $error) { echo "Erreur : " . $error['error'] . " (code " . $error['errno'] . ")"; echo "
"; } } $mysqli->close();
$mysqli = mysqli_connect("localhost", "utilisateur", "motdepasse", "ma_base_de_données"); if (!$mysqli) { die("Erreur de connexion : " . mysqli_connect_error()); } $query = "SELECT * FROM table_inexistante"; $result = mysqli_query($mysqli, $query); if (!$result) { $error_list = mysqli_error_list($mysqli); foreach ($error_list as $error) { echo "Erreur : " . $error['error'] . " (code " . $error['errno'] . ")
"; } } mysqli_close($mysqli);
La fonction mysqli_error_list() ne prend pas de paramètres et renvoie un tableau d'erreurs sous la forme d'un tableau associatif contenant les clés suivantes :
Voici quelques exemples pratiques d'utilisation de la fonction mysqli_error_list() :
Si une requête échoue, vous pouvez utiliser mysqli_error_list() pour obtenir des détails sur l'erreur et la traiter de manière appropriée.
Exemple : Copier le code
<html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Gestion d'Erreurs de Requête avec mysqli_error_list()</title> </head> <body> <h1>Gestion d'Erreurs de Requête avec <code>mysqli_error_list()</code></h1> <?php $mysqli = new mysqli("localhost", "utilisateur", "motdepasse", "ma_base_de_données"); if ($mysqli->connect_error) { die("Erreur de connexion : " . $mysqli->connect_error); } $query = "SELECT * FROM table_inexistante"; $result = $mysqli->query($query); if (!$result) { $error_list = $mysqli->error_list; foreach ($error_list as $error) { echo "<p>Erreur : " . $error['error'] . " (code " . $error['errno'] . ")</p>"; } } $mysqli->close(); ?> </body> </html>
Ce code établit une connexion à la base de données, tente d'exécuter une requête SELECT sur une table inexistante, puis utilise mysqli_error_list() pour afficher les informations sur l'erreur rencontrée, telles que le message d'erreur et le code d'erreur MySQL.
En enregistrant les erreurs dans un journal, vous pouvez collecter des informations utiles pour le débogage et l'amélioration de vos applications.
Exemple : Copier le code
<?php // Connexion à la base de données $mysqli = new mysqli("localhost", "utilisateur", "motdepasse", "ma_base_de_données"); if ($mysqli->connect_error) { die("Erreur de connexion : " . $mysqli->connect_error); } // Exemple de requête qui échoue $query = "SELECT * FROM table_inexistante"; $result = $mysqli->query($query); if (!$result) { $error_list = $mysqli->error_list; // Ouverture du fichier de journalisation en mode ajout $logFile = fopen("error_log.txt", "a"); // Formatage et écriture des erreurs dans le fichier de journal foreach ($error_list as $error) { $errorMsg = "[" . date("Y-m-d H:i:s") . "] Erreur : " . $error['error'] . " (code " . $error['errno'] . ")" . PHP_EOL; fwrite($logFile, $errorMsg); } // Fermeture du fichier de journal fclose($logFile); echo "Une erreur est survenue. Les détails ont été enregistrés dans le fichier de journal."; } $mysqli->close(); ?>
Dans cet exemple, les étapes clés sont les suivantes :
Assurez-vous de créer le fichier error_log.txt dans le même répertoire que votre script PHP pour que les erreurs soient correctement enregistrées. Ce script enregistre les erreurs dans le fichier de journal chaque fois qu'une requête échoue, ce qui peut être utile pour le débogage et la maintenance.
La fonction mysqli_error_list() en PHP est un outil puissant pour gérer les erreurs dans vos applications MySQL. En comprenant comment l'utiliser efficacement, vous pouvez améliorer la qualité et la maintenance de vos projets.