IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

erreur dans une boucle ?You have an error in your SQL syntax; check the manual that c [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre confirmé

    Profil pro
    Inscrit en
    Août 2008
    Messages
    1 191
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 1 191
    Points : 595
    Points
    595
    Par défaut erreur dans une boucle ?You have an error in your SQL syntax; check the manual that c
    bonsoir je m'entraine a faire des scriptes en php dans un bouquin
    j'ai taper ce scripte et je tombe sur cette erreur:

    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 'IN(4,5)' at line 1

    il fait l'erreur a cette ligne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $sql="SELECT*FROM $table_produit"."WHERE idproduit IN(".implode(',',$_SESSION ['monpanier']).")";
    voici le scrip entier:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
    <?php
    $montant= 0;
    $listeproduits=" ";
    $liendb=mysql_connect($bddserver,$bddlogin,$bddpassword);
    mysql_select_db($bdd);
    $sql="SELECT*FROM $table_produit"."WHERE idproduit IN(".implode(',',$_SESSION
    ['monpanier']).")";
    $resultat=mysql_query($sql)or die(mysql_error());
     
    print("<table width='100%'>");
    $tab=array_count_values($_SESSION['monpanier']);
     
    while ($prod=mysql_fetch_array($resultat))
    {
    print("<tr><td class='produit'>");
    print("[".$prod['reference']."] ".$prod['nom']);
    print("(x".$tab[$prod['idproduit']].")");
    print("</td><td class='montant'>");
    print($prod['prix']."  ");
    print("</td></tr>");
    $montant +=$prod['prix']*$tab[$prod['idproduit']];
    $listeproduits.=','.$prod['reference'];
    }
    merci d'avance de votre aide

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    fait un echo $sql;
    ca te permettra de mieux visualiser la requete.

  3. #3
    Membre confirmé

    Profil pro
    Inscrit en
    Août 2008
    Messages
    1 191
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 1 191
    Points : 595
    Points
    595
    Par défaut
    merci de votre aide

    j'ai mis un echo $sql

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $sql="SELECT*FROM $table_produit WHERE idproduit in(".implode(',',$_SESSION
    ['monpanier']).")";
    $resultat=mysql_query($sql);
    echo $sql
    il maffiche une erreur en ligne 23
    [code]
    print ("<table width='100%'>");

    ais je mis correctement echo $sql??

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu n'as pas mis de point-virgule.

  5. #5
    Membre confirmé

    Profil pro
    Inscrit en
    Août 2008
    Messages
    1 191
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 1 191
    Points : 595
    Points
    595
    Par défaut
    en effet un ; fonctionnera mieux, comme je débute je n'y avais pas penser a
    faire un echo $sql ca permet de mieux déboguer c'est une bonne asutuce

    voici ce que j'ai dans la requete:
    j'ai préalablement remplie la table produit:


    SELECT*FROM produit WHERE idproduit IN(3,4,5)
    [11] bateau jouef(x1) 12.00
    [78485] cocacola(x1) 1.63
    [papier] paier canson(x1)

  6. #6
    Membre confirmé

    Profil pro
    Inscrit en
    Août 2008
    Messages
    1 191
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 1 191
    Points : 595
    Points
    595
    Par défaut
    je n'y comprend rien j'ai refait un test sans echo $sql cela fonctionne je me suis dis que c'est peut être a cause de mozilla qui recupère les cookie et ce que l'on clique, j'ai donc fait un effacer mes trace cookie + hors connection
    et la ca fonctionne décidément je n'y comprend pas cela fait une demi journé que je cherche

    enfin merci a vous j'espère que si j'éteint le pc cela fonctionnera encore

    j'ai redémarer mon pc cela fontionne en tous cas merci pour le coup de main
    même si je n'ai pas pouquoi cela ne fonctoinnais pas ....


+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 6
    Dernier message: 01/11/2014, 12h55
  2. Réponses: 2
    Dernier message: 04/05/2014, 00h26
  3. Réponses: 3
    Dernier message: 27/03/2012, 14h49
  4. Erreur incomprehensible:You have an error in your SQL syntax.
    Par Siguillaume dans le forum Requêtes
    Réponses: 2
    Dernier message: 14/06/2008, 10h18
  5. You have an error in your SQL syntax; check the manual ..
    Par Spaccio dans le forum Requêtes
    Réponses: 5
    Dernier message: 09/07/2006, 17h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo