(PHP 5, PHP 7, PHP 8)
mysqli_stmt::$affected_rows -- mysqli_stmt_affected_rows — Retourne le nombre total de lignes modifiées, effacées insérées, ou correspondant par la dernière requête
Style orienté objet
Style procédural
   Retourne le nombre de lignes affectées par une requête
   INSERT, UPDATE
   ou DELETE.
  
   Fonctionne comme mysqli_stmt_num_rows() pour
   les requêtes SELECT.
  
statementStyle procédural uniquement : Un objet mysqli_stmt retourné par la fonction mysqli_stmt_init().
   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, pour une requête SELECT,
   mysqli_stmt_affected_rows() a été appelé avant d'appeler
   mysqli_stmt_store_result().
  
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.
Exemple #1 Exemple de mysqli_stmt_affected_rows()
Style orienté objet
<?php
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");
/* Création d'une table temporaire */
$mysqli->query("CREATE TEMPORARY TABLE myCountry LIKE Country");
$query = "INSERT INTO myCountry SELECT * FROM Country WHERE Code LIKE ?";
/* Préparation de la requête */
$stmt = $mysqli->prepare($query);
/* Lie une variable à un paramètre fictif */
$code = 'A%';
$stmt->bind_param("s", $code);
/* Exécution de la requête */
$stmt->execute();
printf("Lignes insérées : %d\n", $stmt->affected_rows);
?>
Style procédural
<?php
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$link = mysqli_connect("localhost", "my_user", "my_password", "world");
/* Création d'une table temporaire */
mysqli_query($link, "CREATE TEMPORARY TABLE myCountry LIKE Country");
$query = "INSERT INTO myCountry SELECT * FROM Country WHERE Code LIKE ?";
/* Préparation de la requête */
$stmt = mysqli_prepare($link, $query);
/* Lie une variable à un paramètre fictif */
$code = 'A%';
mysqli_stmt_bind_param($stmt, "s", $code);
/* Exécution de la requête */
mysqli_stmt_execute($stmt);
printf("Lignes insérées : %d\n", mysqli_stmt_affected_rows($stmt));
?>
L'exemple ci-dessus va afficher :
Lignes insérées : 17