mysqli::$affected_rows
mysqli_affected_rows
(PHP 5, PHP 7)
mysqli::$affected_rows -- mysqli_affected_rows — Retourne le nombre de lignes affectées par la dernière opération MySQL
Description
Style orienté objet
Style procédural
Retourne le nombre de lignes affectées par la dernière requête
INSERT, UPDATE,
REPLACE ou DELETE
associée au paramètre link
.
Pour les requêtes de sélection, la fonction mysqli_affected_rows() fonctionne de la même façon que la fonction mysqli_num_rows().
Liste de paramètres
-
link
-
Seulement en style procédural : Un identifiant de lien retourné par la fonction mysqli_connect() ou par la fonction mysqli_init()
Valeurs de retour
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 (
PHP_INT_MAX
) que peut prendre un entier, le nombre de lignes affectées sera retourné en tant que chaîne de caractères.
Exemples
Exemple #1 Exemple avec $mysqli->affected_rows
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();
/* Delete 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);
?>
Les exemples ci-dessus vont afficher :
Nombre de lignes affectées (INSERT): 984 Nombre de lignes affectées (UPDATE): 168 Nombre de lignes affectées (DELETE): 815 Nombre de lignes affectées (SELECT): 169
Voir aussi
- mysqli_num_rows() - Retourne le nombre de lignes dans un résultat
- mysqli_info() - Retourne des informations à propos de la dernière requête exécutée
Version en cache
22/12/2024 15:26:29 Cette version de la page est en cache (à la date du 22/12/2024 15:26:29) afin d'accélérer le traitement. Vous pouvez activer le mode utilisateur dans le menu en haut pour afficher la dernère version de la page.Document créé le 30/01/2003, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/php-rf-mysqli.affected-rows.html
L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.
Références
Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.