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 ( object stmt)
Style orienté objet (méthode)
class
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 :