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 :

INSERT INTO ma table mysql [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é Avatar de monlou
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    363
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2010
    Messages : 363
    Par défaut INSERT INTO ma table mysql
    Bonjour a tous,

    je galère depuis 2 jours avec un INSERT INTO qui répond avec une erreur de syntaxe a la ligne 7
    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 at line 7
    et apres beaucoup de vérifications, je ne vois pas d'erreur de syntaxe dans ma requete .

    Quelqu'un peut voir ce qui en est ?
    toutes mes variables sont remplies et mes champs identiques

    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
    $sql2= ("INSERT INTO table (membre_id, nom, prenom, adresse, ville, province, code_postal, telephone, cellulaire,
    			regia, prova, email, date_debut, date_fin, date_avis, facture_id, paidok )
     
    			VALUES ('" .$MembreID. "',
    			'" .$nom. "',
    			'" .$prenom. "',
    			'" .$adresse. "',
    			'" .$ville. "',
    			'" .$province. "',
    			'" .$code_postal. "',	
    			'" .$telephone. "',
    			'" .$cellulaire. "',
    			'" .$key[$value]. "',
    			'" .$Prov."', 
    			'" .$email. "',
    			'" .$date_vente. "',
    			'" .$dateFin. "',
    			'" .$dateAvis. "',
    			'" .$facture_id. "',
    							1)");
     
    				if (!mysql_query($sql2))  {
    					die('Erreur - INSERT table test : ' . mysql_error());
    }

  2. #2
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 454
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 454
    Par défaut
    Vous devriez afficher le contenu de $sql2 pour vérifier ce qui est vraiment envoyé.

  3. #3
    Membre éclairé Avatar de monlou
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    363
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2010
    Messages : 363
    Par défaut $sql2
    le contenu de $sql2 est rempli et la requete est parfaitement rempli, c'est ce que je n'arrive pas a comprendre.

    Petite précision ici c'est que ma variable $région est un tableau c'est pourquoi j'essaie de les insérer une par une avec foreach dans la table

  4. #4
    Membre éprouvé Avatar de renaud26
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    1 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 1 365
    Par défaut
    Hello,

    Comment sont traitées tes variables avant l'insert ?
    Si tu n'utilises pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    mysql_real_escape_string($var)
    et qu'une donnée contient une apostrophe, ça plante.
    Par exemple, le champ adresse avec "Rue d'Alembert"...

  5. #5
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Saône (Franche Comté)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2012
    Messages : 7
    Par défaut
    Il te manque pas ta connexion a ta base pour l'enregistrement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $rsRequete = mysql_query($req,$connexion);

  6. #6
    Membre éprouvé Avatar de renaud26
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    1 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 1 365
    Par défaut
    Il te manque pas ta connexion a ta base pour l'enregistrement :
    Je pense que sa connexion est faite avant cette requête, sinon ce n'est pas ce type d'erreur qui serait retourné. Là c'est un problème de syntaxe.

  7. #7
    Membre éclairé Avatar de monlou
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    363
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2010
    Messages : 363
    Par défaut
    Citation Envoyé par renaud26 Voir le message
    Hello,

    Comment sont traitées tes variables avant l'insert ?
    Si tu n'utilises pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    mysql_real_escape_string($var)
    et qu'une donnée contient une apostrophe, ça plante.
    Par exemple, le champ adresse avec "Rue d'Alembert"...
    OUF ! BRAVO!! effectivement c'est ce qui causait l'erreur.
    justement l'adresse que tentais de passer en test avait une apostrophe et comme cette variable provenait d'une requête SELECT et non d'un POST j'utilisais htmlspecialchars pour pouvoit afficher la variable juste avant le INSERT.

    comme quoi y a toujours une cause a tout probleme !
    Je n'ai pas encore mis résolu car ma variable .$key[$value]. ne s'insere pas du tout avec les autres. je profite donc du post ouvert ici pour voir si je pourrais résoudre aussi cet aspect de cette requête


    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
    25
    26
    27
    28
    29
    <?php
    foreach ($regions as $key=>$value)  {
     
    			$sql2= ("INSERT INTO table (membre_id, nom, prenom, adresse, ville, province, code_postal, telephone, cellulaire,
    			regia, prova, email, date_debut, date_fin, date_avis, facture_id, paidok )
        
    			VALUES ('" .$MembreID. "',
    			'" .$nom. "',
    			'" .$prenom. "',
    			'" .$adresse. "',
    			'" .$ville. "',
    			'" .$province. "',
    			'" .$code_postal. "',	
    			'" .$telephone. "',
    			'" .$cellulaire. "',
    			'" .$key[$value]. "',
    			'" .$ProvinceAffaires."', 
    			'" .$email. "',
    			'" .$date_vente. "',
    			'" .$dateFin. "',
    			'" .$dateAvis. "',
    			'" .$no_facture. "',
    							1)");
     
    				if (!mysql_query($sql2))  {
    					die('Erreur - INSERT table test : ' . mysql_error());
    				}
     
    ?>

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

Discussions similaires

  1. INSERT INTO (plusieurs tables)
    Par ghis33 dans le forum Langage SQL
    Réponses: 9
    Dernier message: 25/08/2009, 16h15
  2. Problème d' INSERT INTO sur table vide
    Par marzinp dans le forum VBA Access
    Réponses: 1
    Dernier message: 07/04/2009, 09h25
  3. [Insert into] Plusieurs tables
    Par razorlok dans le forum Langage SQL
    Réponses: 3
    Dernier message: 09/06/2008, 13h11
  4. Réponses: 1
    Dernier message: 10/04/2008, 11h44
  5. Problème d'insertion dans une table MYSQL
    Par greg69 dans le forum Requêtes
    Réponses: 4
    Dernier message: 24/10/2005, 11h34

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