8.81 Extension MySQL améliorée
8 Référence des fonctions
Manuel PHP
. Introduction . Pré-requis . Installation . Configuration à l'exécution . Classes pré-définies . Constantes pré-définies ->mysqli_affected_rows . mysqli_autocommit . mysqli_bind_param . mysqli_bind_result . mysqli_change_user . mysqli_character_set_name . mysqli_client_encoding . mysqli_close . mysqli_commit . mysqli_connect_errno . mysqli_connect_error . mysqli_connect . mysqli_data_seek . mysqli_debug . mysqli_disable_reads_from_master . mysqli_disable_rpl_parse . mysqli_dump_debug_info . mysqli_embedded_connect . mysqli_enable_reads_from_master . mysqli_enable_rpl_parse . mysqli_errno . mysqli_error . mysqli_escape_string . mysqli_execute . mysqli_fetch_array . mysqli_fetch_assoc . mysqli_fetch_field_direct . mysqli_fetch_field . mysqli_fetch_fields . mysqli_fetch_lengths . mysqli_fetch_object . mysqli_fetch_row . mysqli_fetch . mysqli_field_count . mysqli_field_seek . mysqli_field_tell . mysqli_free_result . mysqli_get_client_info . mysqli_get_client_version . mysqli_get_host_info . mysqli_get_metadata . mysqli_get_proto_info . mysqli_get_server_info . mysqli_get_server_version . mysqli_info . mysqli_init . mysqli_insert_id . mysqli_kill . mysqli_master_query . mysqli_more_results . mysqli_multi_query . mysqli_next_result . mysqli_num_fields . mysqli_num_rows . mysqli_options . mysqli_param_count . mysqli_ping . mysqli_prepare . mysqli_query . mysqli_real_connect . mysqli_real_escape_string . mysqli_real_query . mysqli_report . mysqli_rollback . mysqli_rpl_parse_enabled . mysqli_rpl_probe . mysqli_rpl_query_type . mysqli_select_db . mysqli_send_long_data . mysqli_send_query . mysqli_server_end . mysqli_server_init . mysqli_set_charset . mysqli_set_opt . mysqli_sqlstate . mysqli_ssl_set . mysqli_stat . mysqli_stmt_affected_rows . mysqli_stmt_bind_param . mysqli_stmt_bind_result . mysqli_stmt_close . mysqli_stmt_data_seek . mysqli_stmt_errno . mysqli_stmt_error . mysqli_stmt_execute . mysqli_stmt_fetch . mysqli_stmt_free_result . mysqli_stmt_init . mysqli_stmt_num_rows . mysqli_stmt_param_count . mysqli_stmt_prepare . mysqli_stmt_reset . mysqli_stmt_result_metadata . mysqli_stmt_send_long_data . mysqli_stmt_sqlstate . mysqli_stmt_store_result . mysqli_store_result . mysqli_thread_id . mysqli_thread_safe . mysqli_use_result . mysqli_warning_count
|
8.81.7 mysqli_affected_rows()mysqli->affected_rows()
Retourne le nombre de lignes affectées par la dernière
opération MySQL
[ Exemples avec mysqli_affected_rows ] PHP 5
Style procédural
int
mysqli_affected_rows (
mysqli
link
)
Style orienté objet (méthode)
mysqli
int
affected_rows
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.
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
.
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.
| Note | |
Si le nombre de lignes affectées est plus grand que la valeur maximale que peut prendre un
entier, le nombre de lignes affectées sera retourné en tant que chaîne de caractères.
|
| Style orienté objet |
<?php $mysqli = new mysqli("localhost", "my_user", "my_password", "world");
/* Vérification de la connexion */ if (mysqli_connect_errno()) { printf("Erreur de connexion : %s\n", mysqli_connect_error()); exit(); }
/* Insertion d'une ligne */ $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");
/* Modification d'une ligne */ $mysqli->query("UPDATE Language SET Status=1 WHERE Percentage > 50"); printf("Nombre de lignes affectées (UPDATE): %d\n", $mysqli->affected_rows);
/* Effacement d'une ligne */ $mysqli->query("DELETE FROM Language WHERE Percentage < 50"); printf("Nombre de lignes affectées (DELETE): %d\n", $mysqli->affected_rows);
/* Sélection de toutes les lignes */ $result = $mysqli->query("SELECT CountryCode FROM Language"); printf("Nombre de lignes affectées (SELECT): %d\n", $mysqli->affected_rows);
$result->close();
/* Effacement de la table "Language" */ $mysqli->query("DROP TABLE Language");
/* Fermeture de la connexion */ $mysqli->close(); ?>
|
| Style procédural |
<?php $link = mysqli_connect("localhost", "my_user", "my_password", "world");
if (!$link) { printf("Connexion impossible à localhost. Erreur : %s\n", mysqli_connect_error()); exit(); }
/* Insertion d'une ligne */ 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");
/* Modification d'une ligne */ mysqli_query($link, "UPDATE Language SET Status=1 WHERE Percentage > 50"); printf("Nombre de lignes affectées (UPDATE): %d\n", mysqli_affected_rows($link));
/* Effacement d'une ligne */ mysqli_query($link, "DELETE FROM Language WHERE Percentage < 50"); printf("Nombre de lignes affectées (DELETE): %d\n", mysqli_affected_rows($link));
/* Selection de toutes les lignes */ $result = mysqli_query($link, "SELECT CountryCode FROM Language"); printf("Nombre de lignes affectées (SELECT): %d\n", mysqli_affected_rows($link));
mysqli_free_result($result);
/* Effacement de la table "language" */ mysqli_query($link, "DROP TABLE Language");
/* Fermeture de la connexion */ mysqli_close($link); ?>
|
L'exemple ci-dessus va afficher :
Affected rows (INSERT): 984
Affected rows (UPDATE): 168
Affected rows (DELETE): 815
Affected rows (SELECT): 169
mysqli_num_rows
et
mysqli_info
.
|