Position actuelle: Accueil> Derniers articles> Tutoriel MySQLI :: Get_Warnings

Tutoriel MySQLI :: Get_Warnings

gitbox 2025-05-26

Lorsque vous utilisez des bases de données MySQL dans PHP, l'extension MySQLI fournit des fonctionnalités riches pour gérer les opérations de base de données. MySQLI :: Get_Warnings est l'une des fonctions très pratiques qui peuvent aider les développeurs à obtenir des informations d'avertissement générées par la base de données après avoir exécuté des instructions SQL, afin de mieux déboguer et optimiser. Cet article vous amènera à comprendre rapidement l'utilisation de base et les précautions de MySqli :: Get_Warnings .


Qu'est-ce que MySqli :: Get_Warnings?

La fonction MySQLI :: Get_Warnings est utilisée pour renvoyer un objet ( mysqli_warning ) contenant toutes les informations d'avertissement générées par la connexion actuelle, qui sont généralement des conseils non mortels après l'instruction d'exécution MySQL. Par exemple, lors de l'insertion de données, il y a une troncature de données ou un décalage de type de données, mais l'instruction SQL elle-même n'a pas d'erreurs.

L'obtention de ces avertissements aide les développeurs à repérer des problèmes potentiels et à éviter les exceptions du programme ou les exceptions de données.


Exemples d'utilisation de base

L'exemple suivant montre comment utiliser MySQLI :: Get_Warnings pour obtenir des informations d'avertissement.

 <?php
$mysqli = new mysqli("gitbox.net", "username", "password", "database");

if ($mysqli->connect_error) {
    die("Échec de la connexion: " . $mysqli->connect_error);
}

// L&#39;exécution peut générer des avertissementsSQLDéclaration,Par exemple, les types de données ne correspondent pas
$sql = "INSERT INTO users (id, name) VALUES (1, 'Zhang San'), (2, 'Li si'), (3, 'Wang wu')";

if ($mysqli->query($sql) === TRUE) {
    echo "Insérer avec succès\n";

    // Obtenir des informations d&#39;avertissement
    if ($warn = $mysqli->get_warnings()) {
        do {
            echo "Numéro d&#39;avertissement: " . $warn->errno . "\n";
            echo "Message d&#39;avertissement: " . $warn->message . "\n";
        } while ($warn->next());
    } else {
        echo "Pas d&#39;avertissement\n";
    }
} else {
    echo "erreur: " . $mysqli->error;
}

$mysqli->close();
?>

Analyse des points clés

  • mysqli :: get_warnings renvoie un objet mysqli_warning , et null s'il n'y a pas d'avertissement.

  • Obtenez le code d'avertissement via $ warn-> errno .

  • Obtenez la description d'avertissement via $ warn-> message .

  • Itérer à travers tous les avertissements via la méthode $ warn-> suivant () .


Scénarios d'application courants

  1. Capturez les avertissements lorsque les données sont insérées ou mises à jour <br> Lors de l'insertion de données, si le type de champ ne correspond pas ou si les données sont tronquées, l'instruction SQL peut être exécutée avec succès mais génère un avertissement. À l'heure actuelle, utilisez Get_Warnings pour capturer ces informations.

  2. Débogage des déclarations complexes SQL <br> Certaines requêtes ou mises à jour complexes peuvent provoquer des avertissements, tels que des contraintes de clés étrangères non rencontrées ou des problèmes d'encodage de caractère. L'utilisation de cette fonction peut aider à localiser le problème.


Résumer

MySQLI :: Get_Warnings est un outil de débogage très utile qui aide les développeurs à capturer les messages d'avertissement MySQL. Il est très essentiel de dépanner les problèmes potentiels de la base de données et d'assurer la stabilité du programme. J'espère que grâce à l'introduction de cet article, vous pouvez rapidement maîtriser les compétences d'utilisation de MySqli :: Get_Warnings et améliorer la qualité de la programmation de la base de données PHP.