English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
La fonction mysqli_affected_rows() récupère le nombre de lignes affectées par l'opération MySQL précédente
mysqli_affected_rows()La fonction a pour objectif : retourner le nombre de lignes affectées par l'opération précédente (INSERT, UPDATE, REPLACE ou DELETE) si elle est appelée après cette opération.
Ce fonction renvoie le nombre de lignes après l'utilisation de la clause SELECT.
mysqli_affected_rows($con)
Numéro | Paramètres et descriptions |
---|---|
1 | con (obligatoire) C'est un objet de connexion représentant la connexion avec le serveur MySQL. |
La fonction mysqli_affected_rows() de PHP renvoie une valeur entière indiquant le nombre de lignes affectées par l'opération précédente (SELECT, INSERT, UPDATE, REPLACE ou DELETE).
Si la requête précédente a une erreur, cette fonction renvoie -1. Si il n'y a pas de lignes affectées, ou si la requête précédente/l'opération n'est pas l'une des requêtes mentionnées ci-dessus/d'une opération, cette fonction renvoie 0.
Cette fonction a été introduite dans la version PHP5introduit dans les versions supérieures et peut être utilisé dans toutes les versions plus récentes.
Les exemples suivants montrentmysqli_affected_rows()Utilisation de la fonction (style de programme)
<?php //Création de la connexion $con = mysqli_connect("localhost", "root", "password", "mydb"); //Requête pour récupérer toutes les lignes de la table employee mysqli_query($con, "SELECT * FROM employee"); //Nombre de lignes affectées $rows = mysqli_affected_rows($con); print("Nombre de lignes affectées : \n".$rows); //Close connection mysqli_close($con); ?>
Output results
Nombre de lignes affectées : 5
Dans le style orienté objet, la syntaxe de cette fonction est $con -> affected_rows, où $con est un objet de connexion-
<?php //Création de la connexion $con = new mysqli("localhost", "root", "password", "mydb"); //Requête pour récupérer toutes les lignes de la table employee $con -> query("SELECT * FROM employee"); //Nombre de lignes affectées $rows = $con -> affected_rows; print("Nombre de lignes affectées : \n".$rows); //Close connection $con -> close(); ?>
Output results
Nombre de lignes affectées : 5
Lorsqu'il n'y a pas de requête (spécifiée) ou lorsque la requête a une erreur ou n'affecte aucune ligne, vérifions la valeur de retour de cette fonction :
<?php //Création de la connexion $con = mysqli_connect("localhost", "root", "password", "mydb"); $rows1 = mysqli_affected_rows($con); print("Lignes affectées (lorsqu'aucune opération n'a été spécifiée précédemment) : \n".$rows1"\n"); //Requête pour récupérer toutes les lignes de la table employee mysqli_query($con, "SELECT * FORM employee"); $rows2 = mysqli_affected_rows($con); print("Lignes affectées (lorsqu'il y a une erreur dans la requête) : \n".$rows2"\n"); //Requête pour récupérer toutes les lignes de la table employee mysqli_query($con, "SELECT FIRST_NAME FROM employee WHERE AGE <=19"); $rows3 = mysqli_affected_rows($con); print("Lignes affectées (lorsqu'une requête ne réalise aucune opération) : \n".$rows3"\n"); //Close connection mysqli_close($con); ?>
Output results
Rows affected (when no operation is specified previously): 0 Rows affected (when there is an error in the query): -1 Rows affected (when no operation is executed by the query): 0
The following examples demonstrate SELECT, UPDATE, INSERT, and DELETE queries inmysqli_affected_rowsUsage of functions-
<?php //Establish connection $con = mysqli_connect("localhost", "root", "password", "mydb"); //Query all rows from the employee table mysqli_query($con, "SELECT * FROM employee WHERE INCOME > 8000"); print("Number of rows affected by SELECT query: ".mysqli_affected_rows($con)."\n"); //Query to update rows in the employee table mysqli_query($con, "UPDATE employee SET INCOME=INCOME+5000 WHERE FIRST_NAME IN ('Ramya', 'Trupthi', 'Sarmista')"); print("Number of rows affected by UPDATE query: ".mysqli_affected_rows($con)."\n"); //Query to insert rows into the employee table mysqli_query($con, "INSERT INTO employee VALUES ('Archana', 'Mohonthy', 30, 'M', 13000, 106"); print("Number of rows affected by INSERT query: ".mysqli_affected_rows($con)."\n"); //Query to delete rows from the employee table mysqli_query($con, "DELETE FROM employee WHERE AGE > 25"); print("Number of rows affected by DELETE query: ".mysqli_affected_rows($con)."\n"); //Close connection mysqli_close($con); ?>
Output results
Number of rows affected by SELECT query: 4 Number of rows affected by UPDATE query: 3 Number of rows affected by INSERT query: 1 Number of rows affected by DELETE query: 3