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 :

Insertion dans mysql


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 8
    Par défaut Insertion dans mysql
    Bonjour !
    Merci pour ce beau forum, je debute sur mysql, je suis en train de faire une petite application d'insertion dans la base de donnée, toutefois je rencontre un problème car le script n'arrive pas à inscrire les données dans la base.

    Les valeurs depuis le formulaire sont bien recuperées, la connexion avec la base deroule très bien, mais l'insertion ne marche pas. mais il affiche cette erreur :

    #1064 - 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 '"'

    Le script :
    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
     
    <?php
     
    //------------ INISTIALISATION DES VARIABLES -----------//
     
    	if(isset($_POST['anarana'])) $anarana=$_POST['anarana']; else $anarana="";
    	if(isset($_POST['firenena'])) $firenena=$_POST['firenena']; else $firenena="";
    	if(isset($_POST['hafatra'])) $hafatra=$_POST['hafatra']; else $hafatra="";
    	echo $anarana;
    	echo"<br/>";
    	echo $firenena;
    	echo"<br/>";
    	echo $hafatra;
     
    //------------ CONNEXION A LA BASE -----------//
    	require_once('Connections/dedicace.php');
    	mysql_select_db($database_dedicace, $dedicace);
     
    //------------ TEST ENVOI DEPUIS FORMULAIRE -----------//
    	if($action=="ajout"){
    		$ampidirina="INSERT INTO dedi SET
    		anarana='".$anarana."',
    		firenena='".$firenena."',
    		hafatra='".$hafatra."'"; 
    		mysql_query($ampidirina,$dedicace) or die(mysql_error());
    	}
     ?>
    Merci pour votre aide!
    nb: j'ai déjà fait l'effort de chercher le problème et rien trouvé, c'est pourquoi je poste sur le forum.

    Merci bcps et bon courage à tous!

  2. #2
    Membre Expert
    Avatar de Maljuna Kris
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2005
    Messages
    2 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 613
    Par défaut
    Saluton,
    C'est parce que tu confonds la syntaxe INSERT INTO avec celle de UPDATE, tout simplement.
    Kie lumo eksistas ankaŭ ombro troviĝas. L.L. Zamenhof
    articles : Comment émuler un tableau croisé [quasi] dynamique
    et : Une énigme mathématique résolue avec MySQL
    recommande l'utilisation de PDO (PHP5 Data Objects)

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 8
    Par défaut
    Citation Envoyé par Maljuna Kris Voir le message
    Saluton,
    C'est parce que tu confonds la syntaxe INSERT INTO avec celle de UPDATE, tout simplement.
    Merci bcps pour ta réponse rapide, Est-ce que tu peux m'expliquer un peu ?
    merci encore.

  4. #4
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 815
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    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 815
    Billets dans le blog
    14
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    INSERT INTO laTable(col1, col2,  ...coln)
    VALUES(valeur1, valeur2, ... valeurn)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    UPDATE laTable
    SET colonne = valeur
    Tu as pris le début de l'INSERT et la fin de l'UPDATE dans ta requête !

    Un coup d'oeil dans la documentation MySQL t'aurait donné la réponse.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    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 !

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 8
    Par défaut
    Citation Envoyé par CinePhil Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    INSERT INTO laTable(col1, col2,  ...coln)
    VALUES(valeur1, valeur2, ... valeurn)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    UPDATE laTable
    SET colonne = valeur
    Tu as pris le début de l'INSERT et la fin de l'UPDATE dans ta requête !

    Un coup d'oeil dans la documentation MySQL t'aurait donné la réponse.
    Merci pour cette réponse, j'ai modifié la requette mais cela ne marche pas
    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
     
    <?php
     
    //------------ INISTIALISATION DES VARIABLES -----------//
     
    	if(isset($_POST['anarana'])) $anarana=$_POST['anarana']; else $anarana="";
    	if(isset($_POST['firenena'])) $firenena=$_POST['firenena']; else $firenena="";
    	if(isset($_POST['hafatra'])) $hafatra=$_POST['hafatra']; else $hafatra="";
    	echo $anarana;
    	echo"<br/>";
    	echo $firenena;
    	echo"<br/>";
    	echo $hafatra;
     
    //------------ CONNEXION A LA BASE -----------//
    	$haja=require_once('Connections/dedicace.php');
    	mysql_select_db($database_dedicace, $dedicace);
    	if($haja==true){
     
    	echo"<br/>connecté";}
     
    //------------ TEST ENVOI DEPUIS FORMULAIRE -----------//
    	if($action=="ajout"){
    		//$ampidirina="INSERT INTO dedi VALUES('".$anarana."','".$firenena."','".$hafatra."')";
    		$ampidirina="INSERT INTO dedi (anarana,firenena,hafatra) VALUES('".$anarana."','".$firenena."','".$hafatra."')";
    		mysql_query($ampidirina,$dedicace) or die(mysql_error());
    	}
     ?>
    Pouvez vous m'expliquer svp? merci bcps

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 8
    Par défaut
    Au fait j'ai résolu le problème en mettant en commentaire le test d'un champ caché if ($action==ajout).

    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
    <?php
     
    //------------ INISTIALISATION DES VARIABLES -----------//
     
    	if(isset($_POST['anarana'])) $anarana=$_POST['anarana']; else $anarana="";
    	if(isset($_POST['firenena'])) $firenena=$_POST['firenena']; else $firenena="";
    	if(isset($_POST['hafatra'])) $hafatra=$_POST['hafatra']; else $hafatra="";
    	echo $anarana;
    	echo"<br/>";
    	echo $firenena;
    	echo"<br/>";
    	echo $hafatra;
     
    //------------ CONNEXION A LA BASE -----------//
    	$haja=require_once('Connections/dedicace.php');
    	mysql_select_db($database_dedicace, $dedicace);
    	if($haja==true){
     
    	echo"<br/>connecté";}
     
    //------------ TEST ENVOI DEPUIS FORMULAIRE -----------//
    	//if($action=="ajout"){
    	$ampidirina="INSERT INTO dedi (anarana,firenena,hafatra) VALUES('".$anarana."','".$firenena."','".$hafatra."')";
    		mysql_query($ampidirina,$dedicace) or die(mysql_error());
    	//}
     ?>
    C'est résolu mais vous pouvez m'expliquer svp pourquoi ce test a bloqué l'insertion dans la base? je colle ici en bas l'envoi du formulaire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <form action="envoi.php" name="form1" method="POST" class="dedicace">
    				<label>Anarana : <input type="text" name="anarana"  /></label>
    				<label>Firenena misy anao : <input type="text" name="firenena" /></</label>
    				<label>Hafatra : <textarea name="hafatra"></textarea> </label><br /><br /><br />
    				<input type="submit" name="submit" class="submit" value="Alefa ny hafatra"/>
    				<input type="reset" name="reset" class="submit" value="Aoka ihany"/>
    				<input name="action" type="hidden" value="ajout" />
    			</form>

  7. #7
    Membre Expert
    Avatar de Maljuna Kris
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2005
    Messages
    2 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 613
    Par défaut
    Et comment php saurait-il que $action correspond à $_POST['action'] ?
    Kie lumo eksistas ankaŭ ombro troviĝas. L.L. Zamenhof
    articles : Comment émuler un tableau croisé [quasi] dynamique
    et : Une énigme mathématique résolue avec MySQL
    recommande l'utilisation de PDO (PHP5 Data Objects)

Discussions similaires

  1. [MySQL] INSERT dans mysql d une variable ponctuee
    Par deluxerabbit dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 02/11/2010, 17h41
  2. Problème INSERT dans MySql
    Par simon76 dans le forum SGBD
    Réponses: 2
    Dernier message: 02/02/2010, 09h40
  3. [MySQL] Array et insert dans mysql
    Par yamatoshi dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 02/12/2009, 18h54
  4. probleme d'insertion dans mysql avec java
    Par hypothese dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 26/09/2008, 12h02
  5. [MySQL] memory limit sur insertion dans MySQL
    Par bru2336 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 13/11/2007, 08h32

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