[SQL] Erreur bizarre ds requête toute simple

Résolu
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
--
Plubarj Tumeur
Configuration: Windows XP
IE6, IE7, Opera 9.27
PHP 4.1.0

12 réponses

  • Votes
  • Date
  • Date décroissante
  1. euh, quand tu changes le numéro de l'identifiant 10 par 5, ca fonctionne bien?
    1. Contributeur
      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
  2. quand tu fais tes test, tu les fais dans ton programme en php ou dans php myadmin?
    1. Contributeur
      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?
  3. 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?
    1. Contributeur
      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
  4. 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
    1. Contributeur
      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.
  5. euh tente peut etre

    SELECT * FROM phpbb_posts WHERE forum_id = "10"

    des doubles cotes...
    1. Contributeur
      Merci les gars, vous êtes vraiment patients avec mon problème!
      Malheureusement ça marche pas non plus avec des " "...
      je suis maudit...
      1. 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...
        1. Contributeur
          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
          1. 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...
            1. Contributeur
              Un truc de fou
              En tout cas, merci encore pour les nombreuses tentatives de sauvetage!
              1. 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'];
                
                }
                
                1. Contributeur
                  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