Prebleme select count

Résolu/Fermé
tourge - 2 août 2013 à 15:24
 tourge - 2 août 2013 à 18:46
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

Utilisateur anonyme
2 août 2013 à 15:45
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
Utilisateur anonyme
2 août 2013 à 15:46
ok ca donne un tableau...je savais pas
0
Utilisateur anonyme
2 août 2013 à 15:54
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
Utilisateur anonyme
2 août 2013 à 15:56
Au passage : il ne faut pas d'espace entre COUNT et (
0
Utilisateur anonyme
2 août 2013 à 15:38
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
Utilisateur anonyme
2 août 2013 à 15:45
tu assigne la valeur d'un variable + une fonction a une nouvelle...;tu peu pas changer le nom de la variable d 'origine.
0
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
Tu n'as pas lu mon message ?
COUNT(id) et non pas COUNT id

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