Prebleme select count

Résolu
Bonjour,
je souhaite compter le nombre d'entrée que j'ai dans une table.
Pour ce faire je procède comme suit:
try
{
    $bdd = new PDO('mysql:host=localhost;dbname=test', 'root', '');
}
catch(Exception $e)
{
        die('Erreur : '. $e->getMessage());
}

$req = $bdd->query('SELECT COUNT id FROM billet');
$donnees = $req1->fetch();
echo $donnees1;
$req->closeCursor();


Ce qui me renvoie cette erreur:
Fatal error: Call to a member function fetch() on a non-object in /Users/az/Sites/blog/script/testblog.php on line 38

La ligne 38 étant:
$donnees = $req1->fetch();

Je tiens à préciser que le champ id existe dans ma table.
Merci à vous.

4 réponses

  1. Si j'ai bien lu ton message, mais un peu trop rapidement, j'avais oublier de mettre entre parenthèse le id.
    Maintenant, ça marche merci beaucoup le père
    1. oui pardon, j'ai fait une faute de copier coller en fait mon code est le suivant:

      try
      {
          $bdd = new PDO('mysql:host=localhost;dbname=test', 'root', '');
      }
      catch(Exception $e)
      {
              die('Erreur : '. $e->getMessage());
      }
      
      $req = $bdd->query('SELECT COUNT id FROM billet');
      $donnees = $req->fetch();
      echo $donnees;
      $req->closeCursor();
      


      Ce qui me donne évidement toujours la même erreur
      1. Tu n'as pas lu mon message ?
        COUNT(id) et non pas COUNT id

        echo $donnees[0]; et non pas echo $donnees;
    2. Bonjour

      Ta requête est incorrecte, l'utilisation de son résultat aussi, et tu changes les noms de tes variables d'une ligne à l'autre, il n'y a aucune cohérence :

      $req = $bdd->query('SELECT COUNT (id) FROM billet');
      $donnees = $req->fetch();
      echo $donnees[0];
      1. ok ca donne un tableau...je savais pas
      2. En général, un SELECT sélectionne plusieurs champs : chaque ligne de résultat est un tableau dont les éléments sont les divers champs.
      3. Au passage : il ne faut pas d'espace entre COUNT et (
    3. salut essaye sans avoir testé moi même :

      $req = $bdd->query('SELECT COUNT id FROM billet');
      $donnees = $req->fetch();
      echo $donnees;
      
      $req->closeCursor();
      
      
      

      je sui pas expert en php
      1. tu assigne la valeur d'un variable + une fonction a une nouvelle...;tu peu pas changer le nom de la variable d 'origine.