requete count() mauvaise syntaxe

Eléphant du PHP | 450 Messages

08 juil. 2005, 12:07

Bonjour,

j'ais une requete :
$compter = "SELECT count(nom) FROM 'commande'";
$res = mysql_query($compter,$link) or die ('Erreur : '.mysql_error() );

$resultat = mysql_fetch_row($res);

if ($resultat==0)

{
echo "<strong>Il n'y as pas de commande pour l'instant</strong>";
}
else
{
}
qui me provoque une erreur sql :
Erreur : You have an error in your SQL syntax near ''commande'' at line 1

hors je ne vois pas d'ou cela peut provenir
si quelqun a une idée ??

merci encore
Alone in the dark , I smile :D

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

08 juil. 2005, 12:09

cela doit venir des quotes autour du nom de la table

on ne met rien ou alors`table`

Mammouth du PHP | 1353 Messages

08 juil. 2005, 12:10

t as essayé :

Code : Tout sélectionner

$compter = "SELECT count(nom) FROM commande";
??

Mammouth du PHP | 1353 Messages

08 juil. 2005, 12:11

ah bien joué ouckileou tu m as devancé pendant que j ecrivai !! :lol:

Eléphant du PHP | 450 Messages

08 juil. 2005, 12:16

Bon bah j'ais plus d'erreur c'est deja pas mal
mais il ne prend pas en compte mon if .... car quand j'ai plus de valeur dans ma table (commande)

il m'affiche pas mon echo ..

j'ai fai une erreur dans mon if???
Alone in the dark , I smile :D

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

08 juil. 2005, 12:20

je dirai plutôt que tu as une erreur au niveau de la récupération de $resultat
affiche la, elle ne doit pas contenir ce que tu souhaites,
donc il passe dans le else

regarde ce que renvoie mysql_fetch_row et tu verras qu'il manque un petit quelque chose à ta méthode
=> http://fr.php.net/manual/fr/function.my ... ch-row.php

guilt92 : deux infos valent mieux qu'une ;)

Eléphant du PHP | 450 Messages

08 juil. 2005, 12:27

vi ta raison je recupere "array"

donc il faut pas utilisé mysql_fetch_row

j'ais essaillé avec mysql_result

et sa marche mais par contre j'ais une erreur qui s'affiche:

Warning: Wrong parameter count for mysql_result() in /data/htdocs2/Webdav_depot/enscr/intranet_enscr/intranet_enscr_personnel/intranet_lsab/commande.php on line 43

la ligne 43 correspond a ma requete sql ..

euuh c'est toujours pas mysql_result qu'il faut utiliser ou quoi ??
car la j'en sait trop rien lol
Alone in the dark , I smile :D

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

08 juil. 2005, 12:31

tu peux utiliser ce que tu veux, du moment que tu l'utilises bien :lol:

mysql_fetch_row, mysql_result, mysql_fetch_array
toutes ces fonctions te permettront d'accéder à ta valeur, mais de manière différente

donc choisis en une, et regarde dans la doc comment elle s'utilise ;)

Eléphant du PHP | 450 Messages

08 juil. 2005, 13:28

C'est bon :)
sa fonctionne merci encore ;)
$compter = "SELECT count('nom') FROM commande";
$res = mysql_query($compter,$link) or die ('Erreur : '.mysql_error() );

$resultat = mysql_result($res,'');

if ($resultat<>0)

{ .........................

Alone in the dark , I smile :D

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

08 juil. 2005, 13:48

bizarre, moi j'aurai plutôt vu comme ça
$resultat = mysql_result($res,0);
mais bon si ça fonctionne... tu as affiché $resultat pour vérifier ?

sinon si tu veux un truc plus explicite tu peux faire ça :
$compter = "SELECT count(nom) AS nombre FROM commande";
$res = mysql_query($compter,$link) or die ('Erreur : '.mysql_error() );

$resultat = mysql_fetch_array($res,MYSQL_ASSOC);

if ($resultat["nombre"] <> 0) {
}
je trouve aussi bizarre que tu ais des quotes autour de "nom" dans ton Count(), mais bon ça ne change peut-être rien
(d'autant que je viens de voir que tu ne les avais pas dans ton premier post, tu tiens absolument à en mettre dans ta requête ? :lol:)

Eléphant du PHP | 450 Messages

08 juil. 2005, 14:21

bah les cotes autour de nom en faite cetait pour essailler de voir si sa fonctionnait lol et sa m'a lair de marcher mais bon ta raison je vias les enlever elles n'apportent rien a la structure de toute façon :)
Alone in the dark , I smile :D

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

08 juil. 2005, 14:26

généralement :

'truc' = chaîne de caractères
truc = colonne

mais bon pour ce que j'en dis :lol: