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

 MySQL Discussion :

Mysql syntax error


Sujet :

MySQL

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2011
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2011
    Messages : 24
    Points : 9
    Points
    9
    Par défaut Mysql syntax error
    Salut à tous,

    J'essaie de faire une démarche(création d'un programme en ligne sur mon serveur) et à l'étape où je dois créer mon USERNAME et mot de passe j'obtiens:

    Erreur SQL !
    SELECT `USER` FROM WHERE `EQUIPE` = 'ADMIN'
    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 `EQUIPE` = 'ADMIN'' at line 1

    Mon code est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    if ($install2 && $admin_user && $admin_pass) { 
    sql($db_username, $db_password, $db_admin_gmo_langue[8], $db_name, $db_server); 
    $admin_pass = md5($admin_pass); 
    $sql = "SELECT `USER` FROM ".$db_table." WHERE `EQUIPE` = 'ADMIN' "; 
    $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); 
    while($data = mysql_fetch_assoc($req)) { 
    $check_admin = $data['USER']; 
    mysql_close();
    J'imagine que c'est une erreur d'apostrophe ' mais je ne sais pas où et comment la mettre

    Merci beaucoup

  2. #2
    En attente de confirmation mail
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Octobre 2010
    Messages
    501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2010
    Messages : 501
    Points : 1 060
    Points
    1 060
    Par défaut
    Bonjour,

    L'erreur vient du fait que la variable $db_table est vide.
    Il faut regarder où et comment est gérée cette variable depuis sont initialisation jusqu'à ce morceau de code.

  3. #3
    Candidat au Club
    Homme Profil pro
    Webdesigner
    Inscrit en
    Juin 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Webdesigner
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 3
    Points : 4
    Points
    4
    Par défaut
    Bonjour,

    Pensez a ajouter les deux accents graves (touche alt+7) autour de ".$db_table." ( ex: `".$db_table."` ) Vous éviterez ainsi des problèmes future dû à un nom de table dynamique.



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sql = "SELECT `USER` FROM `".$db_table."` WHERE `EQUIPE` = 'ADMIN' ";
    Ainsi, même si
    $db_table = 'date';
    ou
    $db_table = 'nom de table avec espace';
    alors pas d’erreurs...

    Je me suis fait avoir a pas mal de reprises avec des noms de table stocké dans des variables... donc voilà... petit conseil

  4. #4
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 032
    Points
    34 032
    Billets dans le blog
    14
    Par défaut
    Le mieux est quand même de concevoir correctement sa BDD pour éviter ce genre de problème, notamment en ne nommant pas les tables et colonnes avec des noms pouvant poser problème.

    D'autre part :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sql = "SELECT `USER` FROM ".$db_table." WHERE `EQUIPE` = 'ADMIN' ";
    Savoir qu'il y a une colonne USER et une colonne EQUIPE dans une table et ne pas connaître le nom de la table au point de mettre celui-ci dans une variable me laisse songeur !

    Ou bien ces colonnes existent dans plusieurs tables de la BDD et il y a un problème de conception de la BDD, ou bien c'est le logiciel qui modifie le modèle de données en crant des tables à la volée et il y a peut-être un problème de conception du logiciel car les cas où c'est nécessaires sont rares, vu du strict point de vue de la modélisation des bases de données.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

Discussions similaires

  1. [MySQL] [MySQL] SQLSTATE[42000]: Syntax error or access violation: 1064
    Par Domotik35 dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 28/07/2011, 16h42
  2. [MySQL 4.1.12][Debutant] Select syntax error
    Par Cian dans le forum Langage SQL
    Réponses: 3
    Dernier message: 30/01/2007, 18h29
  3. [MySQL]DBX error : invalid translation
    Par billoum dans le forum C++Builder
    Réponses: 7
    Dernier message: 27/01/2006, 20h55
  4. Syntax Error / Questions
    Par kedare dans le forum Général Python
    Réponses: 15
    Dernier message: 12/09/2005, 14h05
  5. "vector" provoque "syntax error", malgré
    Par seenkay dans le forum Autres éditeurs
    Réponses: 5
    Dernier message: 24/08/2003, 03h21

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