mysqli::$affected_rows

mysqli_affected_rows

(PHP 5, PHP 7, PHP 8)

mysqli::$affected_rows -- mysqli_affected_rowsRetourne le nombre de lignes affectées par la dernière opération MySQL

Description

Style orienté objet

Style procédural

mysqli_affected_rows(mysqli$mysql): int|string

Retourne le nombre de lignes affectées par la dernière requête INSERT, UPDATE, REPLACE ou DELETE associée au paramètre link.

Fonctionne comme mysqli_num_rows() pour les requêtes SELECT.

Liste de paramètres

mysql

Seulement en style procédural : Un objet mysqli retourné par la fonction mysqli_connect() ou mysqli_init().

Valeurs de retour

Un entier plus grand que zéro indique le nombre de lignes affectées ou recherchées. Zéro indique qu'aucun enregistrement n'a été modifié par une requête du type UPDATE, aucune ligne ne correspond à la clause WHERE dans la requête ou bien qu'aucune requête n'a été exécutée. -1 indique que la requête a retourné une erreur ou que mysqli_affected_rows() a été appelé sur une requête SELECT non-tampon.

Note:

Si le nombre de lignes affectées est plus grand que la valeur maximale (PHP_INT_MAX) que peut prendre un entier, le nombre de lignes affectées sera retourné en tant que chaîne de caractères.

Exemples

Exemple #1 Exemple avec $mysqli->affected_rows

Style orienté objet

<?php
mysqli_report
(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");


$mysqli->query("CREATE TABLE Language SELECT * from CountryLanguage");
printf("Nombre de lignes affectées (INSERT): %d\n", $mysqli->affected_rows);

$mysqli->query("ALTER TABLE Language ADD Status int default 0");


$mysqli->query("UPDATE Language SET Status=1 WHERE Percentage > 50");
printf("Nombre de lignes affectées (UPDATE): %d\n", $mysqli->affected_rows);


$mysqli->query("DELETE FROM Language WHERE Percentage < 50");
printf("Nombre de lignes affectées (DELETE): %d\n", $mysqli->affected_rows);


$result = $mysqli->query("SELECT CountryCode FROM Language");
printf("Nombre de lignes affectées (SELECT): %d\n", $mysqli->affected_rows);


$mysqli->query("DROP TABLE Language");
?>

Style procédural

<?php
mysqli_report
(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$link = mysqli_connect("localhost", "my_user", "my_password", "world");


mysqli_query($link, "CREATE TABLE Language SELECT * from CountryLanguage");
printf("Nombre de lignes affectées (INSERT): %d\n", mysqli_affected_rows($link));

mysqli_query($link, "ALTER TABLE Language ADD Status int default 0");


mysqli_query($link, "UPDATE Language SET Status=1 WHERE Percentage > 50");
printf("Nombre de lignes affectées (UPDATE): %d\n", mysqli_affected_rows($link));


mysqli_query($link, "DELETE FROM Language WHERE Percentage < 50");
printf("Nombre de lignes affectées (DELETE): %d\n", mysqli_affected_rows($link));


$result = mysqli_query($link, "SELECT CountryCode FROM Language");
printf("Nombre de lignes affectées (SELECT): %d\n", mysqli_affected_rows($link));


mysqli_query($link, "DROP TABLE Language");
?>

Les exemples ci-dessus vont afficher :

Nombre de lignes affectées (INSERT): 984 Nombre de lignes affectées (UPDATE): 168 Nombre de lignes affectées (DELETE): 815 Nombre de lignes affectées (SELECT): 169

Voir aussi

  • mysqli_num_rows() - Retourne le nombre de lignes dans le jeu de résultats
  • mysqli_info() - Retourne des informations à propos de la dernière requête exécutée
To Top