PDOStatement::rowCount

(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)

PDOStatement::rowCount Retourne le nombre de lignes affectées par le dernier appel à la fonction PDOStatement::execute()

Description

public int PDOStatement::rowCount ( void )

PDOStatement::rowCount() retourne le nombre de lignes affectées par la dernière requête DELETE, INSERT ou UPDATE exécutée par l'objet PDOStatement correspondant.

Si la dernière requête SQL exécutée par l'objet PDOStatement associé est une requête de type SELECT, quelques bases de données retourneront le nombre de lignes retournées par cette requête. Néanmoins, ce comportement n'est pas garanti pour toutes les bases de données et ne devrait pas être exécuté pour des applications portables.

Valeurs de retour

Retourne le nombre de lignes.

Exemples

Exemple #1 Retourne le nombre de lignes effacées

<?php
/* Effacement de toutes les lignes de la table FRUIT */
$del = $dbh->prepare('DELETE FROM fruit');
$del->execute();

/* Retourne le nombre de lignes effacées */
print("Retourne le nombre de lignes effacées :\n");
$count = $del->rowCount();
print("Effacement de $count lignes.\n");
?>
<?php
$sql = "SELECT COUNT(*) FROM fruit WHERE calories > 100";
if ($res = $conn->query($sql)) {

   /* Récupère le nombre de lignes qui correspond à la requête SELECT */
   if ($res->fetchColumn() > 0) {

	  /* Effectue la vraie requête SELECT et travaille sur le résultat */
	  $sql = "SELECT nom FROM fruit WHERE calories > 100";
	  foreach ($conn->query($sql) as $row) {
	  print "Nom : " .  $row['NOM'] . "\n";
	  }
   }
   /* Aucune ligne ne correspond -- faire quelque chose d'autre */
   else {
	  print "Aucune ligne ne correspond à la requête.";
   }
}

$res = null;
$conn = null;
?>

L'exemple ci-dessus va afficher :

apple
banana
orange
pear

Voir aussi

LoadingChargement en cours