Manuel PHP

mysqli_stmt->affected_rows

mysqli_stmt_affected_rows

(PHP 5)

mysqli_stmt->affected_rows -- mysqli_stmt_affected_rowsRetourne le nombre total de lignes modifiées, effacées ou insérées par la dernière requête

Description

Style orienté objet (propriétés) :

mysqli_stmt
int $affected_rows;

Style procédural :

int mysqli_stmt_affected_rows ( mysqli_stmt $stmt )

Retourne le nombre de lignes affectées par une requête INSERT, UPDATE ou DELETE.

La fonction mysqli_stmt_affected_rows() ne fonctionne que sur les requêtes qui modifient la table. Si vous désirez récupérer le nombre de lignes retournées par une requête SELECT, utilisez plutôt la requête mysqli_stmt_num_rows().

Liste de paramètres

stmt

Style procédural uniquement : Un identifiant de requête retourné par la fonction mysqli_stmt_init().

Valeurs de retour

Un entier supérieur à zéro indique le nombre de lignes affectées ou retrouvées. Zéro indique qu'aucun enregistrement n'a été modifié par une requête UPDATE/DELETE, aucune ligne ne correspond à la clause WHERE dans la requête ou bien qu'aucune requête n'a été encore exécutée. -1 indique que la dernière requête a retourné une erreur.

Note: Si le nombre de lignes affectées est plus grand que la valeur entière maximale de PHP, le nombre de lignes affectées sera retourné comme une chaîne de caractères.

Exemples

Exemple #1 Style orienté objet

  1. <?php
  2. $mysqli = new mysqli("localhost", "my_user", "my_password", "world");  
  3.  
  4. /* Vérification de la connexion */  
  5. if (mysqli_connect_errno()) { 
  6.    printf("Échec de la connexion : %s\n", mysqli_connect_error()); 
  7.    exit();  
  8. }  
  9.  
  10. /* Création d'une table temporaire */  
  11. $mysqli->query("CREATE TEMPORARY TABLE myCountry LIKE Country");  
  12.  
  13. $query = "INSERT INTO myCountry SELECT * FROM Country WHERE Code LIKE ?";  
  14.  
  15. /* Préparation de la requête */  
  16. if ($stmt = $mysqli->prepare($query)) { 
  17.  
  18.    /* Insertion de la variable */ 
  19.    $code = 'A%'; 
  20.    $stmt->bind_param("s", $code); 
  21.  
  22.    /* Exécution de la requête */ 
  23.    $stmt->execute(); 
  24.  
  25.    printf("Lignes insérées : %d\n", $stmt->affected_rows); 
  26.  
  27.    /* Fermeture du traitement */ 
  28.    $stmt->close();  
  29. }  
  30.  
  31. /* Fermeture de la connexion */  
  32. $mysqli->close();  
  33. ?> 

Exemple #2 Style procédural

  1. <?php
  2. $link = mysqli_connect("localhost", "my_user", "my_password", "world");  
  3.  
  4. /* Vérification de la connexion */  
  5. if (mysqli_connect_errno()) { 
  6.    printf("Échec de la connexion : %s\n", mysqli_connect_error()); 
  7.    exit();  
  8. }  
  9.  
  10. /* Création d'une table temporaire */  
  11. mysqli_query($link, "CREATE TEMPORARY TABLE myCountry LIKE Country");  
  12.  
  13. $query = "INSERT INTO myCountry SELECT * FROM Country WHERE Code LIKE ?";  
  14.  
  15. /* Préparation de la requête */  
  16. if ($stmt = mysqli_prepare($link, $query)) { 
  17.  
  18.    /* Insertion de la variable */ 
  19.    $code = 'A%'; 
  20.    mysqli_stmt_bind_param($stmt, "s", $code); 
  21.  
  22.    /* Exécution de la requête */ 
  23.    mysqli_stmt_execute($stmt); 
  24.  
  25.    printf("Lignes insérées : %d\n", mysqli_stmt_affected_rows($stmt)); 
  26.  
  27.    /* Fermeture du traitement */ 
  28.    mysqli_stmt_close($stmt);  
  29. }  
  30.  
  31. /* Fermeture de la connexion */  
  32. mysqli_close($link);  
  33. ?> 

L'exemple ci-dessus va afficher :

Lignes insérées : 17

Remonter Remonter
L'éditeur javascript - CSS - Gentoo - Tutoriaux PHP - Tutoriels PHP - Bretagne - php - Moto - Kit graphique