Prebleme select count

Résolu
tourge -  
 tourge -
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. Utilisateur anonyme
     
    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
    1. Utilisateur anonyme
       
      ok ca donne un tableau...je savais pas
      0
    2. Utilisateur anonyme
       
      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.
      0
    3. Utilisateur anonyme
       
      Au passage : il ne faut pas d'espace entre COUNT et (
      0
  2. Utilisateur anonyme
     
    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
    0
    1. Utilisateur anonyme
       
      tu assigne la valeur d'un variable + une fonction a une nouvelle...;tu peu pas changer le nom de la variable d 'origine.
      0
  3. tourge
     
    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
    0
    1. Utilisateur anonyme
       
      Tu n'as pas lu mon message ?
      COUNT(id) et non pas COUNT id

      echo $donnees[0]; et non pas echo $donnees;
      0
  4. tourge
     
    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
    0