Problème récupération données php vers MySql

garinsha20 -  
 giheller -
Bonjour,

Je veux récupérer les données d'un formulaire et les inclure dans ma table MySql.
Je travaille sous FrontPage.

voici mon code :
include ("connexion.php");

$sql = "INSERT INTO Maitre (idmaitre,nommaitre,prenommaitre,mailmaitre,mdpmaitre,etatmaitre,dateinscrmaitre) VALUES(NULL,($_POST['nom']),($_POST['prenom']),($_POST['email']),($_POST['mdp']),'R','2008/05/13')";
mysql_query($sql) or die ('Erreur SQL !'.$sql.''.mysql_error());

et voici mon message d'erreur :
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /home/.sites/28/site1/web/mail.php on line 39

(La ligne 9 étant la ligne de l'INSERT').

J'espère que vous pouvez m'aider, je vous en remercie.
Configuration: Windows XP
Internet Explorer 7.0

1 réponse

  1. giheller
     
    Bonjour,

    Vous reposez votre question alors que vous n'avez pas suivi ce que je vous ai dit dans l'autre topic.
    votre requête doit être ainsi construite :
    $sql = "INSERT INTO Maitre (idmaitre,nommaitre,prenommaitre,mailmaitre,mdpmaitre,etatmaitre,dateinscrmaitre)";

    les champs nom prénom email et mdp sont alphanumériques et doivent être mis en des guillemets.

    $sql = "INSERT INTO Maitre ";
    $sql .= "VALUES('','";
    $sql .= $_POST['nom'];
    $sql .= "','";
    $sql .= $_POST['prenom'];
    $sql .= "','";
    $sql .= $_POST['email'];
    $sql .= "','";
    $sql .= $_POST['mdp'];
    $sql .= "','R','13/05/20008'";
    mysql_query($sql) or die ('Erreur SQL !'.$sql.''.mysql_error());

    Pourquoi plusiures lignes :
    cela permet de mettre les guillemets là où il faut car vous voyez qu'il y a des guillemets aussi dans les $_POST.
    une autre solution serait :


    $nom = $_POST['nom'];
    $prenom = $_POST['nom'];
    $maim = $_POST['mail'];
    $mdp = $_POST['mdp'];
    $sql = "INSERT INTO Maitre (idmaitre,nommaitre,prenommaitre,mailmaitre,mdpmaitre,etatmaitre,dateinscrmaitre)";
    // noté ici que si toutes les valeurs sont mises les nom des champs sont facultatifs.
    $sql .= "VALUES ('','".$nom.'".,'".$prenom."','".$mail."','".$mail."','".$mdp."','R','13/05/2008'";
    mysql_query($sql) or die ('Erreur SQL !'.$sql.''.mysql_error());

    0