mysqli_stmt_affected_rows
(PHP 5)
mysqli_stmt_affected_rows
(no version information, might be only in CVS)
mysqli_stmt->affected_rows -- Retourne le nombre total de lignes modifiées, effacées ou insérées par la dernière
requête
Description
Style procédural
mixed
mysqli_stmt_affected_rows ( mysqli_stmt stmt )
Style orienté objet (méthode)
class
mysqli_stmt {
mixed affected_rows
}
mysqli_stmt_affected_rows() retourne le nombre de lignes affectées par
une requête INSERT, UPDATE ou DELETE. Si la dernière requête n'est pas valide, cette fonction
retournera -1.
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().
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
<?php $mysqli = new mysqli("localhost", "my_user", "my_password", "world");
/* Vérification de la connexion */ if (mysqli_connect_errno()) { printf("Echec de la connexion : %s\n", mysqli_connect_error()); exit(); }
/* Création d'une table temporaire */ $mysqli->query("CREATE TEMPORARY TABLE myCountry LIKE Country");
$query = "INSERT INTO myCountry SELECT * FROM Country WHERE Code LIKE ?";
/* Préparation de la requête */ if ($stmt = $mysqli->prepare($query)) {
/* Insertion de la variable */ $code = 'A%'; $stmt->bind_param("s", $code); /* Exécution de la requête */ $stmt->execute();
printf("Lignes insérées : %d\n", $stmt->affected_rows);
/* Fermeture du traitement */ $stmt->close(); }
/* Fermeture de la connexion */ $mysqli->close(); ?>
|
|
Exemple 2. Style procédural
<?php $link = mysqli_connect("localhost", "my_user", "my_password", "world");
/* Vérification de la connexion */ if (mysqli_connect_errno()) { printf("Echec de la connexion : %s\n", mysqli_connect_error()); exit(); }
/* Création d'une table temporaire */ mysqli_query($link, "CREATE TEMPORARY TABLE myCountry LIKE Country");
$query = "INSERT INTO myCountry SELECT * FROM Country WHERE Code LIKE ?";
/* Préparation de la requête */ if ($stmt = mysqli_prepare($link, $query)) {
/* Insertion de la variable */ $code = 'A%'; mysqli_stmt_bind_param($stmt, "s", $code); /* Exécution de la requête */ mysqli_stmt_execute($stmt);
printf("Lignes insérées : %d\n", mysqli_stmt_affected_rows($stmt));
/* Fermeture du traitement*/ mysqli_stmt_close($stmt); }
/* Fermeture de la connexion */ mysqli_close($link); ?>
|
|
L'exemple ci-dessus va afficher :