PDOStatement::rowCount — Renvoie le nombre de lignes affectées par l'instruction SQL précédente (PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)
int PDOStatement::rowCount ( void )
PDOStatement::rowCount() Renvoie le nombre de lignes affectées par la dernière instruction DELETE, INSERT ou UPDATE exécutée par l'objet PDOStatement correspondant.
Si la dernière instruction SQL exécutée par le PDOStatement associé était une instruction SELECT, certaines données peuvent renvoyer le nombre de lignes renvoyées par cette instruction. Cependant, cette approche n'est pas garantie de fonctionner pour toutes les données et ne doit pas être utilisée pour les applications portables.
Renvoie le nombre de lignes.
PDOStatement::rowCount() Renvoie le nombre de lignes affectées par une instruction DELETE, INSERT ou UPDATE.
<?php/* Supprime toutes les lignes de la table de données FRUIT*/$del = $dbh->prepare('DELETE FROM fruit');$del->execute();/* Renvoie le nombre de lignes supprimées*/print ("Renvoyer le nombre de lignes supprimées :n");$count = $del->rowCount();print("$count rows supprimés.n");?>
L'exemple de sortie ci-dessus :
Renvoie le nombre de lignes supprimées : 9 lignes supprimées.
Pour la plupart des bases de données, PDOStatement::rowCount() ne peut pas renvoyer le nombre de lignes affectées par une instruction SELECT. Vous pouvez également utiliser PDO::query() pour émettre une instruction SELECT COUNT(*) avec la même expression conditionnelle que l'instruction SELECT initialement prévue, puis utiliser PDOStatement::fetchColumn() pour récupérer la ligne suivante. De cette façon, l'application peut s'exécuter correctement.
<?php$sql = "SELECT COUNT(*) FROM fruit WHERE calories > 100";if ($res = $conn->query($sql)) { /* Vérifiez le nombre de lignes qui correspondent à l'instruction SELECT*/ if ($ res->fetchColumn() > 0) { /* Émet une véritable instruction SELECT et opère sur les résultats renvoyés*/ $sql = "SELECT name FROM fruit WHERE calories > 100" ; foreach ($conn->query($sql) as $row) { print "Name: " . $row['NAME'] . "n"; } } /* Aucune ligne correspondante - - Exécuter other */ else { print "Aucune ligne ne correspond à la requête." }}$res = null;$conn = null;?>
Le résultat de l’exemple ci-dessus est :
pommebananeorangepoire