English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
La fonction mysqli_warning_count() retourne le nombre d'avertissements de la dernière requête de la connexion.
Si votre dernière appel de fonction MySQLi exécute une requête MySQL et si elle génère des erreurs. Le rôle de la fonction est : comptabiliser le nombre d'erreurs générées par la dernière requête exécutée et retourner le résultat.
mysqli_warning_count($con)
Numéro | Paramètres et descriptions |
---|---|
1 | con (obligatoire) C'est un objet qui représente la connexion au serveur MySQL. |
La fonction mysqli_warning_count() de PHP retourne une valeur entière qui représente le nombre d'avertissements générés pendant l'exécution de la dernière requête. Si aucune avertissement n'a été générée lors de la dernière exécution, cette fonction retourne0
Cette fonction a été introduite dans la version PHP5introduit et peut être utilisé dans toutes les versions supérieures.
Supposons que nous ayons créé une table nommée Emp comme suit :
CREATE TABLE EMP( ID TINYINT, First_Name VARCHAR(50) NOT NULL, Last_Name VARCHAR(10); NOT NULL, Date_Of_Birth date, Salary Int(255"); );
Le following exemple montremysqli_warning_count()Utilisation de la fonction (style procédural)-
<?php //Établir une connexion $con = mysqli_connect("localhost", "root", "password", "mydb"); //Insérer un enregistrement dans la table employee $sql = "INSERT IGNORE INTO emp VALUES ("1, 'Sanjay', NULL, DATE('1981-12-05'), 2566"); mysqli_query($con, ";"); //Nombre d'avertissements $count = mysqli_warning_count($con); print("Nombre d'avertissements: ",$count, "\n"); $sql = "INSERT IGNORE INTO emp VALUES ("15, 'Swetha', 'Yellapragada', DATE('1990-11-25'), 9986), (15, NULL, 'Prayaga', DATE('1990-11-25'), 9986"); mysqli_query($con, ";"); //Nombre d'avertissements $count = mysqli_warning_count($con); print("Nombre d'avertissements: ",$count); //Fermer la connexion mysqli_close($con); ?>
Résultat de la sortie
Nombre d'avertissements: 1 Nombre d'avertissements: 2
Dans le style orienté objet, la syntaxe de cette fonction est$con->warning_countoù$conEst un objet de connexion-
<?php //Établir une connexion $con = new mysqli("localhost", "root", "password", "mydb"); //Insérer un enregistrement dans la table employee $con -> query("INSERT IGNORE into emp values(1, 'Sanjay', NULL, DATE('1981-12-05'), 2566)"); //Nombre d'avertissements $count1 = $con->warning_count; print("Nombre d'avertissements: ".$count1."\n"); //Insérer un enregistrement dans la table employee $con -> query("INSERT IGNORE into emp values(15, 'Swetha', 'Yellapragada', DATE('1990-11-25'), 9986), (15, NULL, 'Prayaga', DATE('1990-11-25'), 9986)"); //Nombre d'avertissements $count2 = $con->warning_count; print("Nombre d'avertissements: ".$count2); //Fermer la connexion $con -> close(); ?>
Résultat de la sortie
Nombre d'avertissements : 0 Nombre d'avertissements: 2
Voici la fonctionmysqli_warning_count() deUn autre exemple-
<?php //Établir une connexion $con = mysqli_connect("localhost", "root", "password", "mydb"); //Compte d'avertissements de requêtes correctes mysqli_query($con, "SELECT * FROM EMP); print("Nombre d'avertissements (requête correcte): ".mysqli_warning_count($con)."\n"); //Requête pour supprimer une table inconnue mysqli_query($con, "drop table if exists WrongTable"); print("Nombre d'avertissements: ".mysqli_warning_count($con)."\n"); //Avertissements avant la dernière instruction mysqli_query($con, "INSERT IGNORE into emp values(107, 'Sunitha', NULL, DATE('1981-12-05'), 2566)"); mysqli_query($con, "INSERT IGNORE into emp values(7, 'Mohit', 'Sharma', DATE('1981-12-05'), 2566)"); print("Nombre d'avertissements (si la dernière requête contenait des erreurs): ".mysqli_warning_count($con)."\n"); //Fermer la connexion mysqli_close($con); ?>
Résultat de la sortie
Nombre d'avertissements (requête correcte) : 0 ID d'insertion : (insertions multiples) 6 ID d'insertion (requête de mise à jour) : 0 Nombre d'avertissements (si la dernière requête contenait des erreurs) 0
Retourne le nombre d'avertissements de la dernière requête dans la connexion.
<?php $servername = "localhost"; $username = "root"; $password = "password"; $dbname = "mydb"; $conn = new mysqli($servername, $username, $password, $dbname); if (!$conn-real_connect($servername, $username, $password, $dbname)) { die('Erreur de connexion (" . mysqli_connect_errno() .") . "." . mysqli_connect_error()); } print("Base de données connectée" . "\n"); mysqli_query($conn, "CREATE TABLE sample (ID INT, Nom VARCHAR(20));" $query = "INSERT IGNORE INTO sample (id,name) VALUES(" 1,'Rajesh Ramayan Kootrapally')"; mysqli_query($conn, $query); $warnings = mysqli_warning_count($conn); print("Nombre d'avertissements dans la requête: ",$warnings,"\n"); if ($warnings) { if ($result = mysqli_query($conn, "SHOW WARNINGS")) { $row = mysqli_fetch_row($result); printf("%s (%d): %s\n", $row[0], $row[1], $row[2]); mysqli_free_result($result); } } mysqli_close($conn); ?>
Résultat de la sortie
Base de données connectée Nombre d'avertissements dans la requête:1 Avertissement (1265): Les données de la colonne 'Name' ont été tronquées à la ligne 1