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

Langage SQL Discussion :

[MySQL][Debutant] "unknow field" avec "INSERT INTO"


Sujet :

Langage SQL

  1. #1
    Candidat au Club
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2006
    Messages : 4
    Points : 3
    Points
    3
    Par défaut [MySQL][Debutant] "unknow field" avec "INSERT INTO"
    Tout d'abord bonjour a tous...

    J'aimerais inseré des donnée dans une table, mais voila j'ai toujours un message d'erreur qui reviens...

    J'ai un peu tout essayer, j'ai passer (beaucoup) de temps sur les guide/tuto mySQL ainsi que sur ce forum, et ca ne veux toujours pas marcher...

    Mon problème est surement tres bête, mais je trouve pas

    Voici la requete que je veux passer (dans un fichier .php)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $query = "INSERT INTO `auth_on_img`
    (`login`,`password`,`right`,`confirm`)
    VALUES
    (`alex`,`osef`,`a`,`y`);";
    et il me retourne ceci comme message d'erreur :

    Unknown column 'alex' in 'field list'
    J'ai aussi essayé par la méthode :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    INSERT INTO ... SET ...
    et il me retourne le même message d'erreur...

    PS : je sais pas, j'ai pas vu si il y a une section ou se présenter... si oui, dites le moi

  2. #2
    Expert confirmé Avatar de Cybher
    Homme Profil pro
    Consultant réseaux et sécurité
    Inscrit en
    Mai 2005
    Messages
    3 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Consultant réseaux et sécurité
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 281
    Points : 4 644
    Points
    4 644
    Par défaut
    salut,

    Les Quotes pour désigner une chaine de caracteres dans le VALUES n'est pas bon. Utilise plutot le symbole suivant '

    Michel

  3. #3
    Membre confirmé Avatar de amika
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    498
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2004
    Messages : 498
    Points : 464
    Points
    464
    Par défaut
    pour la cde inser into chaque colonne specifiée dans la clause insert into, on doit specifier sa valeur dans la clause values.
    et dans ta requette il te manque une valeur ( il faut 5 valeurs).
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $query = "INSERT INTO ( auth_on_img, login, password, right, confirm)
    VALUES('ValDe_auth_on_img', 'ValDe_login', 'ValDe_password', 'ValDe_right','ValDe_ confirm' )";

  4. #4
    Candidat au Club
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2006
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    auth_on_img est ma table.

    J'ai 4 champs a remplir : login, password, right et confirm

    J'ai déja essayer de remplacer mes ` par des ' et ca ne change rien, toujours le meme soucis, voir meme pire, étant donné qu'il interprete les " et ' de la meme facon - du moins dans mon cas, je sais c'est pas logique

    J'ai essayer aussi en "forcant" avec un \" ou un \'...

    Mais rien ne change, je commence a me demander dans quelle mesure mon hébergeur ne serait pas foireux sur le PHP... (Par exemple il ne veut pas prendre en compte les séquence \t \n ou autres)

  5. #5
    Expert éminent
    Avatar de qi130
    Homme Profil pro
    Expert Processus IT
    Inscrit en
    Mars 2003
    Messages
    3 922
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Expert Processus IT
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 922
    Points : 6 038
    Points
    6 038
    Par défaut
    Essaie en supprimant les simples quotes encadrant les "références" de ta base:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $query = "INSERT INTO auth_on_img
    (login,password,right,confirm)
    VALUES
    (`alex`,`osef`,`a`,`y`);";

  6. #6
    Candidat au Club
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2006
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    Déja essayé

    voici le code erreur retourné :

    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 'right,confirm) VALUES (`admin`,`admin`,`a`,`y`)' at line 2
    Par contre, maintenant en remplacant les ` par de ' il me le prend par la méthode SET, mais uniquement quand je passe mes login et pass

    Donc ceci fonctionne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $query = "INSERT INTO auth_on_img
    SET
    login='admin',
    password='admin';";
    Par contre, si je veux ajouter des données dans les champs "right" et "confirm"

    avec ce code ci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $query = "INSERT INTO auth_on_img
    SET
    login='admin',
    password='admin',
    right='a',
    confirm='y';";
    j'ai ca comme message d'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 'right='a', confirm='y'' at line 5

  7. #7
    Membre actif
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    194
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 194
    Points : 220
    Points
    220
    Par défaut
    ta premiere requete était presque bien, le seul nom qui est aussi un mot clé de mysql est right, il faut donc le mettre entre `
    la requete suivante devrait marcher:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    INSERT INTO auth_on_img (login,password,`right`,confirm) VALUES ('alex','osef','a','y');
    sinon poste l'erreur

  8. #8
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 104
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

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

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 104
    Points : 28 400
    Points
    28 400
    Par défaut
    Citation Envoyé par coca25
    ta premiere requete était presque bien, le seul nom qui est aussi un mot clé de mysql est right, il faut donc le mettre entre `
    la requete suivante devrait marcher:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    INSERT INTO auth_on_img (login,password,`right`,confirm) VALUES ('alex','osef','a','y');
    sinon poste l'erreur
    Ce serait tellement plus simple et plus sur de ne pas utiliser de mots clés pour nommer les colonnes...

  9. #9
    Candidat au Club
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2006
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    je fait du SQL depuis 3 jours

    J'ignorait que c'était un mot clé, sinon j'aurais effectivement mis autre chose...

    A mon avis de toute facon, je vais refaire ma table "proprement", car il y manque toute une série de chose...

    Ca fonctionne correctement avec la requete de coca...

    tout ca à cause d'un mot clé

    Et tout cas merci a tous

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

Discussions similaires

  1. Erreur 3134 avec un INSERT INTO
    Par Tintou dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 24/04/2007, 17h27
  2. [MySQL] Probleme avec un INSERT INTO
    Par heruwenli dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 12/10/2006, 14h45
  3. exporter dans un format avec des insert into
    Par kurkLord dans le forum Oracle
    Réponses: 2
    Dernier message: 12/06/2006, 11h43
  4. Pb d'écriture intempestive dans table avec SQL insert into
    Par pete_shifter dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 10/11/2005, 11h51
  5. Réponses: 2
    Dernier message: 21/07/2005, 14h20

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