Erreur de code [Résolu]

Signaler
Messages postés
5
Date d'inscription
jeudi 11 septembre 2003
Statut
Membre
Dernière intervention
10 juillet 2009
-
Messages postés
5
Date d'inscription
jeudi 11 septembre 2003
Statut
Membre
Dernière intervention
10 juillet 2009
-
je débute et j'ai un souci avec ce bout de code:

$query = "SELECT * FROM infos WHERE etat-cmd=nc ORDER BY 'num-cmd'";
$result = mysql_query($query, $link) or die($query . " - " . mysql_error());

    while ($tab = mysql_fetch_array($result)) {
  echo $tab['date-saise'];
  echo "
";
}

Mon souci et depuis que j'ai rajouté Where etat-cmd=nc car la formule sans cela marchait très bien.

Merci de votre aide

3 réponses

Messages postés
1309
Date d'inscription
samedi 31 janvier 2009
Statut
Membre
Dernière intervention
5 juin 2013
12
Salut,

En SQL les chaînes de caractères doivent être entourées par des simple quotes. Il te faut donc en mettre autour de nc.

Sinon, juste comme ça, ça ne sert a rien de sélectionner tous les champs quand tu en utilises un seul. Sélectionne donc uniquement ce dont tu as besoin.
Messages postés
3708
Date d'inscription
lundi 5 juillet 2004
Statut
Membre
Dernière intervention
27 avril 2012
30
Salut,

C'est quoi au juste etat-cmd ? Un champ ? une opération ?
Dans le premier cas c'est une très mauvaise idée de mettre un "-" dans le nom d'un champ, c'est une source d'erreur importante. Préfère les "_".
Par ailleurs :
ORDER BY 'num-cmd'
=>
ne devrait pas fonctionner, il faut mettre des "`", ou rien si le champ n'a pas de caractères "spéciaux"
ORDER BY `num-cmd`

Et puis n'oublie pas de tester si la requête génère une erreur : mysql_error()

Cordialement,

Kohntark -
Messages postés
5
Date d'inscription
jeudi 11 septembre 2003
Statut
Membre
Dernière intervention
10 juillet 2009

Merci bcoup pour toutes ces informations
etat-cmd est effectivement un champ je l'ai d'ailleurs renommé etatcmd car cela me générait des erreurs.