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 :

Nouvelle BDD et ERREUR MYSQL numero: 1064 [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    478
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2007
    Messages : 478
    Par défaut Nouvelle BDD et ERREUR MYSQL numero: 1064
    Suite a un probleme avec amen.fr, ils ont efface tous mes fichiers, ma BDD mes login mes backup...... et en plus mon nom de domaine ne pointe plus vers mon index.php (ca fait une semaine!!!), j'ai reinstaller provisoirement mon site chez un autre hebergeur et donc recreer une BDD et je constate qu'il ne fonctionne plus

    Voici l'erreur

    ERREUR MYSQL num�ro: 1064
    Type de 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 ',,) AND valid=1 ORDER BY prixtotal' at line 1
    et la ligne en question

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $sql = "SELECT * FROM menu  WHERE type IN ('fastfd','resto','gastronomie')  AND id IN (".$in.") AND valid=1 ORDER BY prixtotal";
    $requete = mysql_query( $sql, $link ) or die( "ERREUR MYSQL numéro: ".mysql_errno()."<br>Type de cette erreur: ".mysql_error()."<br>\n" );
    D'ou peut venir l'erreur?

    Merci

  2. #2
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Bonjour,

    ',,) AND valid=1
    Tu as 2 virgules en trop dans la valeur de $in. Fait un echo de la requête pour vérifier.

    A+.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    478
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2007
    Messages : 478
    Par défaut
    Merci, j'ai supprime la derniere virgule mais tu as raison ma variable est null et je ne comprrend pas pourquoi le fait de changer d'hebergeur de BDD fait changer la pogrammation

    Voici comment j'obtiens $in

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $result = mysql_query("SELECT id  FROM menu WHERE pays='$catpays' AND type IN (".$typedebp.")" )or die( "ERREUR MYSQL numéro: ".mysql_errno()."<br>Type de cette erreur: ".mysql_error()."<br>\n" );
     
    while ($row = mysql_fetch_array($result, $link)) {
       $val[] = $row['id'];
    }
     
    $in=(empty($val)?"":(implode(",",$val)));
    $in = rtrim($in, ',');
     
    echo $in;
    Elle est ou mon erreur?

    Merci

  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
    Par défaut
    Ton rtrim c'est un pansement sur une jambe de bois : si tu te retrouves avec deux virgules a la fin c'est que tes deux derniers ids sont vides.

    ton $val contient peut etre aussi des données avant de commencer la boucle.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    478
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2007
    Messages : 478
    Par défaut
    Bon j'ai ecrit cela et maintenant ca refonctionne. Pourquoi?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $result1 = "SELECT id  FROM menu WHERE pays='$catpays' AND type IN (".$typedebp.")";
    $result = mysql_query( $result1, $link ) or die( "ERREUR MYSQL numéro: ".mysql_errno()."<br>Type de cette erreur: ".mysql_error()."<br>\n" );
     
    while ($row = mysql_fetch_array($result)) {
       $val[] = $row['id'];
    }
    //$in =  implode(',',$val);
     
    $in=(empty($val)?"":(implode(",",$val)));
    Merci

  6. #6
    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
    Par défaut
    Que tu n'étais pas sur la bonne base ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

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

Discussions similaires

  1. Problème de procédure stockée Erreur MySQL 1064
    Par Echap dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 12/06/2014, 17h20
  2. [MySQL] Erreur mysql 1064
    Par neperien dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 27/05/2013, 16h08
  3. [MySQL] Message d' erreur mysql dans requete de recherche sur la bdd
    Par cuisto44000 dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 18/05/2010, 15h33
  4. [MySQL] Importer BDD, erreur mysql
    Par Jonas7 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 21/01/2009, 15h47
  5. erreur MySql : 1064; pb de LIMIT?
    Par punky_brooster dans le forum Outils
    Réponses: 2
    Dernier message: 07/03/2007, 19h48

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