mysqli_affected_rows

(PHP 5 CVS only)

mysqli_affected_rows --  Retourne le nombre de ligne affectées par la dernière opération MySQL

Description

mixed mysqli_affected_rows ( resource link)

mysqli_affected_rows() retourne le nombre de lignes affectées par la dernière requête INSERT, UPDATE, ou DELETE associée au paramètre link. Si la dernière requête était invalide, cette fonction retournera -1.

Note : Lorsque vous supprimez tout le contenu de la table (i.e. 'DELETE FROM foo'), cette fonction ne retourne pas le nombre de lignes effacées.

La fonction mysqli_affected_rows() ne fonctionne que pour les requêtes qui modifient une table. Pour connaître le nombre de lignes retournées par une requête SELECT, utilisez la fonction mysqli_num_rows().

Exemple 1. Requête de suppression

<?php
    
/* connexion &agrave; la base */
    
mysqli_connect("localhost", "utilisateur_mysql", "pass_mysql") or
      die(
"Impossible de se connecter : " . mysqli_error());
    
mysqli_select_db("mydb");

    
/* cela devrait retourner le nombre correct de lignes effac&eacute;es */
    
mysqli_query("DELETE FROM mytable WHERE id < 10");
    
printf ("Enregistrements effac&eacute;s : %d\n", mysqli_affected_rows());

    
/* sans la clause where dans la requ&ecirc;te, cela devrait retourner 0 */
    
mysqli_query("DELETE FROM mytable");
    
printf ("Enregistrements effac&eacute;s : %d\n", mysqli_affected_rows());
?>

L'exemple précédent produira ce qui suit :
Enregistrements effac&eacute;s : 10
Enregistrements effac&eacute;s : 0

Exemple 2. Requête de mise à jour

<?php
    
/* connexion &agrave; la base */
    
mysqli_connect("localhost", "utilisateur_mysql", "pass_mysql") or
      die(
"Impossible de se connecter : " . mysqli_error());
    
mysqli_select_db("mydb");

    
/* Update records */
    
mysqli_query("UPDATE mytable SET used=1 WHERE id < 10");
    
printf ("Lignes mises &agrave; jour : %d\n", mysqli_affected_rows());
?>

L'exemple précédent produira ce qui suit :
Lignes mises &agrave; jour : 10