[SQL] Erreur bizarre ds requête toute simple [Résolu/Fermé]

Signaler
Messages postés
101
Date d'inscription
jeudi 17 avril 2008
Statut
Contributeur
Dernière intervention
13 octobre 2008
-
Messages postés
101
Date d'inscription
jeudi 17 avril 2008
Statut
Contributeur
Dernière intervention
13 octobre 2008
-
Bonjour,
Je deviens fou avec une stupide requête qui me fait une erreur d'exécution dans une page en php:
SELECT * FROM phpbb_posts WHERE (phpbb_posts.forum_id = 10) 

J'obtiens une erreur:
SQL ERROR [ mysql ]
[0]
SQL
No values specified for SQL IN comparison

Je remplace mon 10 par 5 et là, pas d'erreur.
Pourtant je colle ma requête dans l'admin de base de donnée Phpmyadmin et ça passe très bien.
Que fais-je de faux dans ma syntaxe?
Merci beaucoup de votre aide

12 réponses

Messages postés
286
Date d'inscription
mercredi 16 avril 2008
Statut
Membre
Dernière intervention
15 octobre 2009
23
euh, quand tu changes le numéro de l'identifiant 10 par 5, ca fonctionne bien?
Messages postés
101
Date d'inscription
jeudi 17 avril 2008
Statut
Contributeur
Dernière intervention
13 octobre 2008
5
Oui, avec 8 j'ai la même erreur
Et tout ça fonctionne bien dans phpmyadmin.
J'ai bien des record correspondant à 8 ou 10
Messages postés
286
Date d'inscription
mercredi 16 avril 2008
Statut
Membre
Dernière intervention
15 octobre 2009
23
quand tu fais tes test, tu les fais dans ton programme en php ou dans php myadmin?
Messages postés
101
Date d'inscription
jeudi 17 avril 2008
Statut
Contributeur
Dernière intervention
13 octobre 2008
5
Je les fais directement dans le code
$sql = 'SELECT * FROM phpbb_posts WHERE forum_id = 10 ';
C'est peut être là qu'il y a un bug?
Messages postés
286
Date d'inscription
mercredi 16 avril 2008
Statut
Membre
Dernière intervention
15 octobre 2009
23
ben si tu change l'identifiant 10 par 5 dans ton code et que ca marche bien à ce moment là, ca prouve bien que ton code est bon
tu as fais le test?
Messages postés
101
Date d'inscription
jeudi 17 avril 2008
Statut
Contributeur
Dernière intervention
13 octobre 2008
5
Oui, avec 5 c'est bon, avec 7 aussi, mais pas 8, pas 10, etc
Alors que j'ai bien des enregistrements qui correspondent et que dans phpmyadmin je les trouvent...
thx anyway
Messages postés
5358
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
889
Salut,

la syntaxe:

SELECT * FROM phpbb_posts WHERE forum_id = '10'


pas de parenthèses et pas besoin de repréciser la table puisque tu la mets dans le FROM
Messages postés
101
Date d'inscription
jeudi 17 avril 2008
Statut
Contributeur
Dernière intervention
13 octobre 2008
5
Merci à tous, mais rien à faire, c'est totalement déprimant :-(
J'essaie ça:
$sql = 'SELECT * FROM phpbb_posts WHERE forum_id = \'10\'';
et que dalle! Même erreur.
Messages postés
286
Date d'inscription
mercredi 16 avril 2008
Statut
Membre
Dernière intervention
15 octobre 2009
23
euh tente peut etre

SELECT * FROM phpbb_posts WHERE forum_id = "10"

des doubles cotes...
Messages postés
101
Date d'inscription
jeudi 17 avril 2008
Statut
Contributeur
Dernière intervention
13 octobre 2008
5
Merci les gars, vous êtes vraiment patients avec mon problème!
Malheureusement ça marche pas non plus avec des " "...
je suis maudit...
Messages postés
286
Date d'inscription
mercredi 16 avril 2008
Statut
Membre
Dernière intervention
15 octobre 2009
23
mais ce que je comprend pas c'est pk ca marche avec 5 mais pas avec 10???
a ce moment là, enregistre tout, ferme tout et relance... qui sait...
Messages postés
101
Date d'inscription
jeudi 17 avril 2008
Statut
Contributeur
Dernière intervention
13 octobre 2008
5
Je peux malheureusement pas redémarrer mysql: il est hosté je sais pas trop où.
Par contre j'ai fait un flush, vérifié la table, réparé (mais elle est en ordre), optimisé, etc.

N'empêche que tu dois avoir raison parce qu'avec 8, ça passe maintenant !
Peut-être que lundi ce sera ok avec 10?!?
cheers
Messages postés
286
Date d'inscription
mercredi 16 avril 2008
Statut
Membre
Dernière intervention
15 octobre 2009
23
mdrrr, le progrès des dev en force lol.
Cependant, je suis un peu HS là je n'ai plus quoi te dire car ca veut bien dire que ta fonction marche. Peut etre un soucis avec la DB...
Messages postés
101
Date d'inscription
jeudi 17 avril 2008
Statut
Contributeur
Dernière intervention
13 octobre 2008
5
Un truc de fou
En tout cas, merci encore pour les nombreuses tentatives de sauvetage!
Messages postés
5358
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
889
Salut,

par phpMyadmin regardes le champ forum_id si il est bien en INT

et si cette valeur 10 existe bien réelement dans ta table.

l'erreur:
No values specified for SQL IN comparison

semble vouloir dire que tu n'as pas de valeur correspondante à la comparaison dans la requette

et le code:

$query="SELECT * FROM phpbb_posts WHERE forum_id = '10'";
$rep=mysql_query($query);
 echo "Nombre de resultats trouves: ".mysql_num_rows($rep);
while($result=mysql_fetch_array($rep)){

     echo "<br>".$result['forum_id'];

}
Messages postés
101
Date d'inscription
jeudi 17 avril 2008
Statut
Contributeur
Dernière intervention
13 octobre 2008
5
Hello Alain
Merci 1000* pour l'input: le bout de code que tu m'as proposé m'a enfin ouvert les yeux et fait réaliser que l'erreur était en fait plus bas dans le code (en récupérant une liste d'attachments). Par un malheureux hasard, ce n'est qu'en recherchant les éléments du forum_id 10 que l'erreur était provoquée. Et vu le message d'erreur retourné, j'ai cru que le problème venait de cette requête là.
Bref, mea culpa et merci encore à tous pour votre aide.
Cheers

Plubarj Tumeur