Exemples
<<<
mysql_affected_rows mysql_change_user
>>>

8.77 MySQL
8 Référence des fonctions
 Manuel PHP

Introduction
Pré-requis
Installation
Configuration à l'exécution
Types de ressources
Constantes pré-définies
Exemples
->mysql_affected_rows
mysql_change_user
mysql_client_encoding
mysql_close
mysql_connect
mysql_create_db
mysql_data_seek
mysql_db_name
mysql_db_query
mysql_drop_db
mysql_errno
mysql_error
mysql_escape_string
mysql_fetch_array
mysql_fetch_assoc
mysql_fetch_field
mysql_fetch_lengths
mysql_fetch_object
mysql_fetch_row
mysql_field_flags
mysql_field_len
mysql_field_name
mysql_field_seek
mysql_field_table
mysql_field_type
mysql_free_result
mysql_get_client_info
mysql_get_host_info
mysql_get_proto_info
mysql_get_server_info
mysql_info
mysql_insert_id
mysql_list_dbs
mysql_list_fields
mysql_list_processes
mysql_list_tables
mysql_num_fields
mysql_num_rows
mysql_pconnect
mysql_ping
mysql_query
mysql_real_escape_string
mysql_result
mysql_select_db
mysql_stat
mysql_tablename
mysql_thread_id
mysql_unbuffered_query

8.77.8 mysql_affected_rows() Retourne le nombre de lignes affectées lors de la dernière requête SQL MySQL

[ Exemples avec mysql_affected_rows ]   PHP 3, PHP 4 , PHP 5

int  mysql_affected_rows ( resource   link_identifier )

mysql_affected_rows retourne le nombre de lignes affectées lors de la dernière requête INSERT, UPDATE ou DELETE sur le serveur associé à l'identifiant de connexion link_identifier . Si link_identifier n'est pas précisé, mysql_affected_rows utilise la dernière connexion ouverte.

Note

Si vous utilisez les transactions, vous devez appeler mysql_affected_rows après votre INSERT, UPDATE, ou DELETE et non après la validation.

Si la dernière requête était un DELETE sans clause WHERE, tous les enregistrements ont été effacés, mais mysql_affected_rows va retourner 0.

Note

Lorsque vous utilisez UPDATE, MySQL ne mettera pas à jour les colonnes si la nouvelle valeur est identique à l'ancienne. Cela fait que mysql_affected_rows ne représentera pas forcément le nombre de lignes correspondantes mais plutôt le nombre de lignes qui ont été réellement affectées par la requête.

La requête REPLACE commence par effacer les enregistrements possédant la même clé primaire et ensuite, insert les nouveaux enregistrements. Cette fonction retourne le nombre d'enregistrements effacés ainsi que le nombre d'enregistrements insérés.

Pour recupérer le nombre de lignes retournées par un SELECT, il est également possible d'utiliser la fonction mysql_num_rows .

Si la dernière requête a échoué, mysql_affected_rows retourne -1.
Requête SQL Delete

<?php
    
/* connexion à la base */
    
mysql_pconnect("localhost", "mysql_user", "mysql_password") or
        die(
"Impossible de se connecter : " . mysql_error());

    
/* Ceci devrait retourner le nombre correct de lignes effacées */
    
mysql_query("DELETE FROM mytable WHERE id < 10");
    
printf ("Records deleted: %d\n", mysql_affected_rows());

    
/* Sans la clause WHERE, il retourne 0 */
    
mysql_query("DELETE FROM mytable");
    
printf ("Lignes effacées : %d\n", mysql_affected_rows());
?>
Requête SQL Update

<?php
    
/* connexion à la base */
    
mysql_pconnect("localhost", "mysql_user", "mysql_password") or
        die(
"Impossible de se connecter : " . mysql_error());

    
/* Requête de modification Update */
    
mysql_query("UPDATE mytable SET used=1 WHERE id < 10");
    
printf ("Lignes modifiées : %d\n", mysql_affected_rows());
mysql_query("COMMIT");
?>

Voir aussi mysql_num_rows et mysql_info .

<< mysql_affected_rows >>
Exemples MySQL mysql_change_user