Position actuelle: Accueil> Derniers articles> Utilisez des journaux pour enregistrer le contenu de sortie de mysqli_result à chaque fois

Utilisez des journaux pour enregistrer le contenu de sortie de mysqli_result à chaque fois

M66 2025-05-18

Le débogage et le suivi des données sont importants lors du développement de projets PHP, en particulier lors de l'interaction avec les bases de données. Si vous avez besoin de déboguer les résultats des requêtes MySQL ou de suivre les opérations de base de données, l'enregistrement de la sortie de la fonction mysqli_result vous aidera à mieux comprendre l'exécution du programme.

Dans cet article, nous présenterons comment utiliser la fonction de journalisation pour enregistrer le contenu de sortie de chaque appel à mysqli_result , pour le débogage et l'analyse ultérieurs.

Étape 1: Préparez le fichier journal

Tout d'abord, nous devons préparer un fichier journal pour enregistrer la sortie de chaque requête. PHP fournit une méthode de journalisation très pratique. À l'aide de la fonction error_log , nous pouvons écrire des informations dans un fichier spécifié.

 $logFile = 'mysqli_debug.log';

Étape 2: encapsuler la sortie de mysqli_result

Ensuite, nous résumerons la fonction de sortie de MySQLI_RESULT pour nous assurer que les informations pertinentes peuvent être enregistrées chaque fois que la fonction est appelée. Supposons que nous ayons déjà une connexion MySQLI et un processus d'exécution de requête.

 // Fonctions personnalisées à enregistrer mysqli_result Sortir
function log_mysqli_result($result) {
    global $logFile;

    // Obtenez le contenu de l'ensemble de résultats
    $output = '';
    while ($row = $result->fetch_assoc()) {
        $output .= json_encode($row) . "\n";
    }

    // Obtenez l'heure actuelle
    $date = date('Y-m-d H:i:s');
    
    // Enregistrement
    $logMessage = "[$date] Query Result: \n$output\n";
    file_put_contents($logFile, $logMessage, FILE_APPEND);
}

Étape 3: Appelez la fonction de journalisation après la requête

Maintenant, nous appellerons la fonction log_mysqli_result après avoir exécuté la requête pour enregistrer le résultat de la requête. Supposons que nous voulons exécuter une requête de sélection simple.

 // Connexion de base de données
$mysqli = new mysqli("m66.net", "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 status = 'active'";
$result = $mysqli->query($query);

// Vérifiez si la requête est réussie
if ($result) {
    // Enregistrer les résultats de la requête
    log_mysqli_result($result);
} else {
    echo "La requête a échoué: " . $mysqli->error;
}

// Fermer la connexion
$mysqli->close();

Étape 4: Afficher le journal

Le fichier journal mysqli_debug.log enregistrera le contenu de sortie de chaque requête. Vous pouvez afficher ce fichier pour suivre la sortie après chaque appel à mysqli_result .

Par exemple, un fichier journal peut contenir les éléments suivants:

 [2025-05-05 12:30:00] Query Result: 
{"id":1,"name":"John Doe","status":"active"}
{"id":2,"name":"Jane Smith","status":"active"}

[2025-05-05 12:45:00] Query Result: 
{"id":3,"name":"Alice Johnson","status":"active"}

De cette façon, vous pouvez clairement voir les résultats de chaque requête et peut être facilement utilisé pour le débogage et le suivi des données.

Résumer

Cet article montre comment encapsuler la fonction mysqli_result via PHP et combiner la journalisation pour aider les développeurs à suivre le contenu de sortie des requêtes de base de données. De cette façon, le débogage et le suivi des données deviendront plus pratiques et efficaces. J'espère que cet article pourra vous fournir quelques conseils utiles pour vous aider à améliorer votre efficacité de développement.