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

Fermé
garinsha20 - 25 mars 2008 à 16:38
 Utilisateur anonyme - 26 mars 2008 à 08:46
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.
A voir également:

1 réponse

Utilisateur anonyme
26 mars 2008 à 08:46
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