Dans le développement de PHP, les connexions de base de données de débogage et le contenu de sortie sont très importantes, en particulier pendant la phase de développement, les erreurs et les problèmes de performances affectent souvent le fonctionnement normal de l'application. Cet article présentera comment combiner les fonctions MySqli :: Debug et Ob_Start () pour le débogage pour vous aider à diagnostiquer et à résoudre les problèmes plus efficacement pendant le processus de développement.
MySQLI :: Debug () est une méthode dans l'extension MySQLI de PHP pour démarrer le mode de débogage. Ce mode de débogage vous permet de visualiser et d'analyser des informations détaillées sur l'interaction avec une base de données MySQL. Lorsque vous effectuez des opérations de base de données, MySQLI :: Debug () sortira les informations de débogage pour vous aider à comprendre l'état des connexions de base de données, de l'exécution de la requête et des problèmes potentiels.
Un scénario commun pour l'utilisation de MySqli :: Debug () consiste à déboguer des requêtes SQL complexes ou à dépanner les erreurs de connexion de la base de données. En activant le mode de débogage, vous pouvez capturer des messages d'erreur et des processus d'exécution détaillés, positionnant ainsi plus rapidement les problèmes.
ob_start () est une fonction tampon de sortie de PHP. Il peut démarrer le tampon de sortie et stocker temporairement toutes les sorties (HTML, les messages d'erreur, les informations de débogage, etc.) dans le tampon au lieu de sortir directement vers le navigateur. De cette façon, les développeurs peuvent contrôler lorsque le contenu est sorti vers le navigateur.
Habituellement, ob_start () est utilisé aux fins suivantes:
Capturez et retardez la sortie pour un débogage facile.
Capturer et faire fonctionner des erreurs ou déboguer des informations, telles que les enregistrer dans un fichier journal.
Empêcher la sortie d'être envoyée à l'avance, en particulier avant l'envoi des en-têtes.
Dans certains cas, vous souhaiterez peut-être déboguer les requêtes de base de données, mais vous ne souhaitez pas afficher immédiatement les informations de débogage directement à l'utilisateur. À l'heure actuelle, la combinaison de MySqli :: Debug () et Ob_Start () est particulièrement utile.
Après avoir démarré le tampon de sortie avec ob_start () , appeler mysqli :: debug () enregistrera les informations de débogage dans le tampon au lieu de la diffuser directement au navigateur. De cette façon, vous pouvez traiter davantage les informations de débogage, telles que la connexion dans un fichier journal ou les sortir dans certaines situations.
<?php
// Démarrer le tampon de sortie
ob_start();
// Activer mysqli Mode de débogage
mysqli::debug('d:t');
/* Connexion de base de données */
$mysqli = new mysqli("localhost", "username", "password", "database");
/* Vérifiez si la connexion réussit */
if ($mysqli->connect_error) {
die("Échec de la connexion: " . $mysqli->connect_error);
}
// Exécuter une requête
$query = "SELECT * FROM users WHERE email = 'user@example.com'";
$result = $mysqli->query($query);
// Vérifiez si la requête est réussie
if (!$result) {
echo "Erreur de requête: " . $mysqli->error;
} else {
echo "Interroger réussi!";
}
// Obtenez le contenu du tampon de sortie
$output = ob_get_contents();
// Fermez le tampon et effacez le contenu du tampon
ob_end_clean();
// Journal du contenu du tampon pour journaliser le journal pendant le débogage
file_put_contents('debug_log.txt', $output, FILE_APPEND);
// Vous pouvez également choisir de produire des informations de débogage au navigateur
// echo $output;
?>
Démarrez le tampon de sortie: utilisez ob_start () pour démarrer le tampon de sortie et enregistrer toute la sortie dans le tampon.
Activer MySqli :: Debug () : Activer la fonction de débogage de la base de données en appelant MySQLI :: Debug () . Le paramètre «D: T» utilisé ici représente le mode de débogage, y compris les journaux détaillés d'exécution de la base de données et les informations de performance de requête.
Connexion et requête de la base de données: connectez-vous à la base de données via l'extension MySQLI et exécutez une requête SQL simple.
Obtenez et traitez le contenu tamponné: utilisez ob_get_contents () pour obtenir le contenu du tampon actuel, puis utilisez ob_end_clean () pour effacer le tampon pour empêcher l'envoi de la sortie directement au navigateur.
Logging: enregistrez les informations de débogage dans le fichier debug_log.txt . De cette façon, vous pouvez afficher les journaux à tout moment sans interférer avec l'expérience de navigation de l'utilisateur.
Dépannage des problèmes de base de données: Si votre application a des questions SQL complexes ou des problèmes de connexion de la base de données, vous pouvez utiliser MySQLI :: Debug () pour obtenir des informations de débogage détaillées. Combiné avec ob_start () , vous pouvez éviter de diffuser ces informations directement à l'utilisateur.
Taping des performances: Lors de l'exécution de requêtes complexes, MySQLI :: Debug () peut être en mesure d'afficher les détails de l'exécution de la requête, y compris le temps d'exécution, le plan de requête et d'autres informations. Combiné à la sortie tamponnée, il peut analyser plus facilement les problèmes de performances pendant le débogage.
Capturez les erreurs et les journaux de journaux: capturez les erreurs et déboguez les informations via des tampons, que vous pouvez enregistrer dans les fichiers journaux pour l'analyse et le dépannage ultérieur.
L'utilisation de mysqli :: debug () et ob_start () est une puissante technologie de débogage qui peut aider les développeurs à mieux comprendre les détails des opérations de base de données et enregistrer facilement des informations de débogage. Dans les environnements de production, assurez-vous de désactiver le débogage et de nettoyer les journaux pour éviter la fuite d'informations sensibles. De cette façon, vous pouvez améliorer l'efficacité du développement et réduire l'impact sur l'expérience utilisateur lors du débogage.