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 :

Syntaxe de INSERT INTO [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2013
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2013
    Messages : 12
    Par défaut Syntaxe de INSERT INTO
    Bonjour,

    après des heures de vaines recherches je viens me tourner vers vous pour un petit problème :

    Je voudrais insérer des données dans une table "perso", mais impossible de faire marcher correctement ma requête SQL,
    dont voilà le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $query="insert into perso (email,pseudo,sexe,race,classe,pass,confpass,statut,xp,level,levelup,force,dex,mana,intel,sag,char) values ('$email','$pseudo','$sexe','$race','$classe','$pass','$confpass','$statut','$xp','$level','$levelup',$force,$dex,$mana,$intel,$sag,$char)";
    $result=mysql_query ($query) die('Erreur : '.$e->getMessage());
    Les champs

    Le message d'erreur que j'obtiens est le suivant :

    Parse error: syntax error, unexpected T_EXIT in E:\monchemin\nouveau_perso.php
    J'ai essayé avec et sans les apostrophes, j'obtiens le même résultat. Et je ne sais pas trop ce que le T_EXIT signifie.

    Merci d'avance pour votre aide

  2. #2
    Membre éclairé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2007
    Messages
    314
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2007
    Messages : 314
    Par défaut
    tu as une erreur de syntaxe
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $result=mysql_query ($query) die('Erreur : '.$e->getMessage());
    essaye de faire ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if(mysql_query($query) ){
    $result = mysql_query($query);
    }else{
    die('Erreur : '.$e->getMessage());
    }
    ou sur une seule ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     // si la requête est bien exécutée tu tu affecte la variabale $result sinon tu arrête le script
    ( mysql_query ($query) ) ? $result=mysql_query ($query) :  die('Erreur : '.$e->getMessage());

  3. #3
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2013
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2013
    Messages : 12
    Par défaut
    Merci de ta réponse rapide !

    J'ai essayé ton code mais j'ai un nouveau message d'erreur :

    Fatal error: Call to a member function getMessage() on a non-object

  4. #4
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2013
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2013
    Messages : 12
    Par défaut
    Et quand j'essaye avec

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if(mysql_query($query) ){
    $result = mysql_query($query);
    }else{
    die (mysql_error ());
    }
    j'obtiens :

    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 'force,dex,mana,intel,sag,char) values ('julien.paris3@hotmail.fr','mec','Homme',' at line 1

  5. #5
    Membre éclairé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2007
    Messages
    314
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2007
    Messages : 314
    Par défaut
    pour l'erreur :
    Fatal error: Call to a member function getMessage() on a non-object
    $e n'est un objet , il faut crée une instance de la classe PDO , en plus pourquoi tu utilise PDO et l'extension mysql ?

    pour l'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 'force,dex,mana,intel,sag,char) values ('julien.paris3@hotmail.fr','mec','Homme',' at line 1
    c'est une erreur de syntaxe , vérifier bien les apostrophes

  6. #6
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2013
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2013
    Messages : 12
    Par défaut
    Oui en effet j'ai enlevé le PDO du MySQL :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $query = "insert into perso (email,pseudo,sexe,race,classe,pass,confpass,statut,xp,level,levelup,force,dex,mana,intel,sag,char) values ('$email','$pseudo','$sexe','$race','$classe','$pass','$confpass','$statut','$xp','$level','$levelup','$force','$dex','$mana','$intel','$sag','$char')";
    $result = mysql_query($query) or die (mysql_error ());
    Mais j'ai toujours 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 'force,dex,mana,intel,sag,char) values ('julien.paris3@hotmail.fr','a','Homme','H' at line 1
    J'ai beau chercher je ne vois pas d'erreur d'apostrophe. Il y en a sûrement un qui traine par là...

    Merci de ton aide en tout cas

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

Discussions similaires

  1. pb de syntaxe requête INSERT INTO
    Par emulamateur dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 14/06/2011, 12h55
  2. Erreur de syntaxe dans INSERT INTO
    Par nanar21 dans le forum VB.NET
    Réponses: 1
    Dernier message: 25/02/2010, 22h36
  3. erreur syntaxe sur insert into (date)
    Par jpclutier dans le forum Requêtes
    Réponses: 3
    Dernier message: 20/05/2009, 10h02
  4. syntaxe commande INSERT INTO
    Par hottnikks_79 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 09/11/2006, 13h52
  5. Erreur de syntaxe dans INSERT INTO VALUES
    Par Mariboo dans le forum Access
    Réponses: 4
    Dernier message: 25/05/2006, 18h57

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