Problème récupération données php vers MySql
garinsha20
-
Utilisateur anonyme -
Utilisateur anonyme -
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.
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:
- Problème récupération données php vers MySql
- Fuite données maif - Guide
- Easy php - Télécharger - Divers Web & Internet
- Supprimer les données de navigation - Guide
- Logiciel de récupération de données - Guide
- Trier des données excel - Guide
1 réponse
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());
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());