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 :

Requête mal formée ?


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    340
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 340
    Par défaut Requête mal formée ?
    Je suis débutant en php.
    J'ai une requête d'écriture dans ma table qui ne compile pas, à cause d'une erreur. Je ne comprends pas pourquoi.

    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
     
    <?php
    // on se connecte à MySQL
    $db = mysql_connect('mondomaine', 'user', 'pwd');
     
    // on sélectionne la base
    mysql_select_db('mabase',$db);
     
    // on crée la requête SQL
    $sql="INSERT INTO `MESSAGES` ( `NUM_MSG` , `DE_QUI` , `POUR_QUI` , `TITRE` , `MSG`, `EMAIL`,`ETAT`)
    VALUES ('', '$parents', '$enfant', '$titre', '$texte','$email','');"
     
    // on envoie la requête
    $result=mysql_query($sql); //erreur ici
     
    mysql_close();
    ?>

  2. #2
    Inactif
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    179
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 179
    Par défaut
    Ça sort d'où $parents, $enfant etc ?

    Et si t'as une erreur qui s'affiche, tu peux aussi la coller dans ton post, ça mange pas de pain...

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    340
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 340
    Par défaut
    Pardon, voila l'erreur :
    Parse error: syntax error, unexpected T_VARIABLE in /homepages/33/d144711294/htdocs/Valloire/traitement_mail.php on line 13
    parents, enfant, ..., ce sont les noms des champs du formulaire que j'ai rempli sur la page précédente.

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    340
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 340
    Par défaut
    C'est résolu, c'était une erreur à la con, un point virgule manquant à la fin de la requête...

  5. #5
    Inactif
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    179
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 179
    Par défaut
    Bon, ben t'as oublié un point virgule à la ligne juste avant...

    Et tes données tu les récupères pas comme ça, mais dans $_POST. $_POST['parents'] etc.

    Et utilise mysql_real_escape_string pour protéger tes requêtes.

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    340
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 340
    Par défaut
    j'ai une autre erreur, apparemment d'incompatibilité de types sur 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
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
     
    <html>
    <head>
    </head>
    <body>
     
    <?php
     
    function display($string)
    {
        echo htmlentities($string, ENT_QUOTES, 'ISO-8859-1');
    }
     
    // on se connecte à MySQL
    $db = mysql_connect('mondomaine', 'user', 'pwd');
     
    // on sélectionne la base
    mysql_select_db('mabase',$db);
     
    // on crée la requête SQL
    $sql="SELECT * FROM MESSAGES ;";
     
    // on envoie la requête
    $result = mysql_query($sql);
     
    ?>
    <table border="1">
    	<tr>
    		<th>Numero</th>
    		<th>Nom du parent</th>
    		<th>Nom de l'enfant</th>
    		<th>Email</th>
    		<th>Titre</th>
    		<th>Message</th>
    	</tr>
    	<?php
    	while($message = mysql_fetch_assoc($result))
    	{
    		if($message['ETAT']==0) {
    		?>
    		<tr>
    			<td>Numero : <?php display($message['NUM_MSG']); ?></td>
    			<td>Nom du parent : <?php display($message['DE_QUI']); ?></td>
    			<td>Nom de l'enfant : <?php display($message['POUR_QUI']); ?></td>
    			<td>Email : <?php display($message['EMAIL']); ?></td>
    			<td>Titre : <?php display($message['TITRE']); ?></td>
    			<td>Message : <?php display($message['MSG']); ?></td>
    		</tr>
    		<?php
    		mysql_query("UPDATE MESSAGES SET ETAT=1 WHERE NUM_MSG=$message['NUM_MSG'];");//erreur
    		}
    	}
    	?>
    </table>
    <?php
     
    mysql_close();
    ?>
     
    </body>
    </html>
    Voila l'erreur produite :

    Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /homepages/33/d144711294/htdocs/Valloire/affichage.php on line 49

  7. #7
    Membre expérimenté
    Avatar de mathieugut
    Profil pro
    Webmaster
    Inscrit en
    Mars 2008
    Messages
    225
    Détails du profil
    Informations personnelles :
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2008
    Messages : 225
    Par défaut
    Salut,

    Essayes de remplacer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysql_query("UPDATE MESSAGES SET ETAT=1 WHERE NUM_MSG=$message['NUM_MSG'];");//erreur
    Par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysql_query("UPDATE MESSAGES SET ETAT=1 WHERE NUM_MSG=".$message['NUM_MSG'].";");//erreur
    Bienvenue dans la matrice, attention à bien lire les règles...

    .::Mon espace perso developpez.com ::.

Discussions similaires

  1. Correction d'un fichier xml mal formé
    Par devlo dans le forum Format d'échange (XML, JSON...)
    Réponses: 3
    Dernier message: 25/10/2006, 11h30
  2. Récupération d'une requête sous forme de tableau
    Par le--handballeur dans le forum iReport
    Réponses: 2
    Dernier message: 01/08/2006, 15h56
  3. Afficher le resultat de l'execution d'une requête sous forme d'un formulaire
    Par samirdannoune dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 26/07/2006, 18h21
  4. [SQL] Requete SQL mal formée : mais je vois pas pourquoi !
    Par Thomus38 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 21/06/2006, 18h03
  5. [xml] fichier mal formé
    Par kikimnet dans le forum XML/XSL et SOAP
    Réponses: 6
    Dernier message: 25/11/2005, 09h30

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