MySQLI :: Dump_debug_info est une méthode fournie par l'extension MySQLI en PHP. Cette méthode est utilisée pour obtenir des informations de débogage pour une connexion MySQL, y compris les erreurs liées à la connexion, les avertissements et d'autres informations de débogage utiles. Cette méthode permet aux développeurs d'obtenir facilement des informations détaillées lors de la connexion avec MySQL, aidant à identifier rapidement la cause profonde du problème.
L'appel de cette méthode n'affecte pas les opérations de base de données, il fournit simplement un outil de débogage utile, généralement utilisé dans les phases de développement et de débogage.
Pour utiliser Mysqli :: Dump_debug_info , vous devez d'abord créer un objet de connexion MySQLI. Ensuite, les informations de débogage sont obtenues en appelant la méthode demp_debug_info . Voici un exemple d'utilisation de base:
<?php
// créer MySQLi connecter
$mysqli = new mysqli("localhost", "username", "password", "database_name");
// 检查connecter是否成功
if ($mysqli->connect_error) {
die("connecter失败: " . $mysqli->connect_error);
}
// Appel dump_debug_info Méthode pour obtenir des informations de débogage
echo "<pre>";
echo $mysqli->dump_debug_info();
echo "</pre>";
// 关闭connecter
$mysqli->close();
?>
Dans cet exemple, nous créons d'abord un objet de connexion MySQLI via un nouveau mysqli , puis utilisons Connect_error pour vérifier s'il y a un problème de connexion. S'il n'y a pas de problème, appelez Dump_debug_info pour produire des informations de débogage. Les informations de sortie peuvent nous aider à localiser les problèmes qui se produisent pendant la connexion MySQL.
Le contenu de sortie de MySqli :: Dump_debug_info contient les parties suivantes:
Version du serveur MySQL : Affiche la version du serveur MySQL auquel vous êtes actuellement connecté.
Informations sur la connexion : affiche des informations liées à la connexion du serveur MySQL, y compris le temps de connexion, les informations du client et du serveur connectées, etc.
Message d'erreur : si la connexion échoue ou qu'il y a un autre problème, le message d'erreur sera affiché ici. Ceci est très utile pour localiser les problèmes de connexion MySQL.
Message d'avertissement : En plus des messages d'erreur, les avertissements seront également affichés ici pour aider les développeurs à identifier les problèmes de base de données potentiels.
Par exemple, les informations de sortie peuvent être similaires à ce qui suit:
# Server: MySQL 8.0.22
# Connection ID: 123456
# Connect Time: 2025-06-07 10:30:15
# Client: mysql_native_password
# Last Error: 1045 Access Denied for user 'username'@'localhost' (using password: YES)
# Warnings: None
Grâce à ces informations, nous pouvons voir la version MySQL de la connexion, le temps de connexion, le type de connexion et les informations d'erreur les plus importantes. Par exemple, si vous rencontrez des problèmes d'authentification, la dernière erreur affichera un message d'erreur similaire à l'accès refusé , ce qui peut nous aider à déterminer s'il s'agit d'une erreur de nom d'utilisateur ou de mot de passe ou un problème d'autorisation.
Lorsque nous obtenons des informations de débogage via mysqli :: dump_debug_info , nous pouvons généralement adopter les stratégies suivantes basées sur ces informations pour résoudre le problème:
Vérifiez si la connexion de la base de données est configurée correctement, notamment:
Nom d'hôte : si le nom d'hôte ou l'adresse IP du serveur MySQL est correctement spécifié.
Nom d'utilisateur et mot de passe : Confirmez si le nom d'utilisateur et le mot de passe de la base de données sont corrects, en particulier les problèmes de cas et d'espace.
Nom de la base de données : confirmez si le nom de base de données correct est spécifié.
Si une erreur d'accès refusée se produit, c'est généralement parce que l'utilisateur n'a pas de autorisations suffisantes. Vous pouvez autoriser les utilisateurs dans MySQL en utilisant la commande suivante:
GRANT ALL PRIVILEGES ON database_name.* TO 'username'@'localhost' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
Cette commande accordera toutes les autorisations à l'utilisateur spécifié à la base de données spécifiée.
Si le message de sortie Dump_debug_info montre que la connexion a chronométré ou que le serveur n'est pas disponible, cela peut être dû au fait que le serveur MySQL n'est pas démarré ou qu'il y a un pare-feu ou un problème de réseau. Vous pouvez essayer de vous connecter directement au serveur MySQL via l'outil de ligne de commande pour vérifier qu'il peut se connecter normalement.
Si vous voyez des erreurs ou des avertissements inconnus dans Dump_debug_info , vous pouvez afficher le journal des erreurs MySQL pour plus de détails. Cela peut souvent aider les développeurs à identifier des problèmes de configuration plus complexes.
MySQLI :: Dump_debug_info est un puissant outil de débogage qui peut aider les développeurs à localiser et à résoudre rapidement les problèmes liés aux connexions MySQL. En appelant cette méthode, les développeurs peuvent obtenir des informations de débogage de connexion détaillées, résolvant ainsi plus efficacement les problèmes de connexion MySQL. Au cours du processus de développement, lors de la rencontre d'erreurs de connexion, l'utilisation de cet outil peut réduire considérablement le temps de débogage et améliorer l'efficacité du travail.