Home
Accueil
Downloads
Téléchargements
Forums
Forums
Your Account
Votre compte
Menu
· Accueil ·

· Communication ·
  · Forums
  · Messages privés
  · Contactez nous
  · Recommendez nous
  · Sondages
  · Les projets

· Nouvelles ·Stats
  · Sujets
  · Ecrire un article
  · Articles archivés
  · Articles RSS
  · Lettre de sécurité
  · Archive de lettres

· Téléchargements ·
  · Accueil
  · Nouveautés
  · Mises à jour
  · Thêmes

· Outils ·
  · Outils divers
  · Convertisseur de temps
  · Table de caractères
  · Générateur de boutons
  · Compresseur Javascript

· Documentation ·
  · Wiki
  · Questions/Réponses
  · Documents
  · Manuel PHP-Nuke
  · Manuel PHP
  · Manuel PEAR
  · Encyclopédies

· Liens ·
  · Nos liens
  · Nos fluxs RSS
  · Partenaires
  · Votre publicité
  · Sitemap
  · Mes bannières

· Infos ·
  · Rechercher
  · Votre compte
  · Liste des membres
  · Carte des membres
  · Top

· Divers ·
  · Météo
  · Galeries
  · Statistiques Phpnuke
  · MS Analysis


PDOStatement::rowCount

PDOStatement::rowCount

(no version information, might be only in CVS)

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

Description

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.

Exemples

Exemple 1. Retourne le nombre de lignes effacées

PDOStatement::rowCount() retourne le nombre de lignes affectées par une requête DELETE, INSERT, ou UPDATE.

<?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");
?>

L'exemple ci-dessus va afficher :

Effacement de 9 lignes.

Exemple 2. Comptage des lignes retournées par une requête SELECT

Pour la plupart des bases de données, PDOStatement::rowCount() ne retourne pas le nombre de lignes affectées par une requête SELECT. À la place, utilisez PDO::query() pour faire une requête SELECT COUNT(*), puis utilisez PDOStatement::fetchColumn() pour récupérer le nombre de lignes retournées. Votre application peut ainsi effectuer la bonne action.

<?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

PDOStatement::columnCount()
PDOStatement::fetchColumn()
PDOStatement::query()


Manuel PHP pour PHP-Nuke © www.stefvar.com
Syndiquez notre contenu RSS, Atom, etc..
PHP-Nuke © 2007Reproduction interdite sans autorisation de ma part www.stefvar.com Copyright © 2008Thème iCGstation
Site français de la communauté PragmaMx