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 .
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.
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'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'avertissement
if ($warn = $mysqli->get_warnings()) {
do {
echo "Numéro d'avertissement: " . $warn->errno . "\n";
echo "Message d'avertissement: " . $warn->message . "\n";
} while ($warn->next());
} else {
echo "Pas d'avertissement\n";
}
} else {
echo "erreur: " . $mysqli->error;
}
$mysqli->close();
?>
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 () .
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.
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.
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.