Page 1 sur 1

Requete Mysql

Posté : 28 mai 2010, 15:57
par eikhell
Bonjour a tous,

je cherche deja depuis plusieurs heures un réponse a mon problème et la je seche...

je m'explique, je suis en train de créer une galerie "blog" sur mon site et j'y met des commentaires.

Donc j'ai deux base de données , "galerie" et "commentaires" et j'utilise l'ID de mes posts de galerie pour recuperer les commentaires associés.

Seulement je dois avoir un problème de syntaxe qui m'echappe...
Je recupère la fonction $numero avec un

Code : Tout sélectionner

$numero = $_GET['idpost'];
placé juste avant ma requete que voila :

Code : Tout sélectionner

$requete="SELECT id,id_post,auteur,commentaire,com_date FROM commentaires ORDER BY id WHERE id_post = $numero "; mysql_query($requete) or die(mysql_error()."\n".$requete); // Avec cette boucle, on liste les commentaires : while ($donnees = mysql_fetch_array($requete) )
j'ai deja essayé plusieurs types de syntaxe mais la je ne comprend pas ce qui bug....
sachant que j'ai exactement le même code ailleurs et la ca marche sans problème...

Merci d'avance de votre aide.

Re: Requete Mysql

Posté : 28 mai 2010, 16:00
par macgawel
Bonjour.

Quel est le problème, au juste ?
- Message d'erreur ? Lequel ?
- Ca fonctionne, mais le résultat ne correspond pas aux attentes ?
- Autre (préciser) ?

Tu as essayé de passer la requête sous PHPMyAdmin (en faisant un echo) ? Ca dit quoi ?

Re: Requete Mysql

Posté : 28 mai 2010, 16:03
par eikhell
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE id_post = 25' at line 1 SELECT id,id_post,auteur,commentaire,com_date FROM commentaires ORDER BY id WHERE id_post = 25
voila ce que ca m'affiche...

Re: Requete Mysql

Posté : 28 mai 2010, 16:05
par Yosh
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE id_post = 25' at line 1 SELECT id,id_post,auteur,commentaire,com_date FROM commentaires ORDER BY id WHERE id_post = 25
voila ce que ca m'affiche...
Ton order by est situé avant ta condition WHERE, je suis pas sur que MySQL aime ça.

Re: Requete Mysql

Posté : 28 mai 2010, 16:07
par Skikit
Tu mélanges vraiment tout
Donc j'ai deux base de données , "galerie" et "commentaires"
Ce sont des tables qui sont dans la même base de données.
Je recupère la fonction $numero avec un

Code : Tout sélectionner

$numero = $_GET['idpost'];
$numero est une variable et non une fonction

Ton erreur ici est vraiment simple :
mysql_fetch_array prend comme paramètre le résultat d'un mysql_query, la tu lui donnes la chaine de ta requete :
while ($donnees = mysql_fetch_array($requete) )
(au passage, le order by se met après les conditions)
La bonne syntaxe est la suivante :
$requete="SELECT id,id_post,auteur,commentaire,com_date FROM commentaires WHERE id_post = $numero ORDER BY id";
$result = mysql_query($requete) or die(mysql_error()."\n".$requete);
while ($donnees = mysql_fetch_array($result) )

Re: Requete Mysql

Posté : 28 mai 2010, 16:08
par macgawel
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE id_post = 25' at line 1 SELECT id,id_post,auteur,commentaire,com_date FROM commentaires ORDER BY id WHERE id_post = 25
voila ce que ca m'affiche...
Il y a une faute de syntaxe dans la requête.

Par curiosité : tu as essayé en plaçant le ORDER BY après le WHERE ?
Je construis toujours mes requêtes comme ça (donc je ne garantis pas que l'erreur soit là :oops: ), et intuitivement ça me semble logique :
Tu ne peux pas demander à trier les résultats avant de les avoir filtrés.

Re: Requete Mysql

Posté : 28 mai 2010, 16:09
par eikhell
je vais le changer mais je pense avoir deja fait ce test hier soir....

EDIT: ca ne marche toujours pas :
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /web/eikhell/www/commentaires.php on line 35
ma ligne 35 est celle avec ma boucle WHILE

Re: Requete Mysql

Posté : 28 mai 2010, 16:12
par Skikit
As-tu lu mon message ?

Re: Requete Mysql

Posté : 28 mai 2010, 16:14
par eikhell
oui d'ailleurs c'est avec ton code que j'ai essayé.

Re: Requete Mysql

Posté : 28 mai 2010, 16:16
par eikhell
non mais quelle quiche, j'ai mal recopier ton code...

c'est bon ca marche...

je vais aller me tapper la tête contre un mur tellement c'etait simple.....

merci!