Pb avec un insert into

Résolu
Signaler
Messages postés
27
Date d'inscription
dimanche 16 mars 2008
Statut
Membre
Dernière intervention
15 juin 2010
-
Messages postés
27
Date d'inscription
dimanche 16 mars 2008
Statut
Membre
Dernière intervention
15 juin 2010
-
Bonjour :)

Je crée un site en html/php et je voudrais que les visiteurs puissent s'inscrire. Pour celà, j'ai crée un formulaire d'inscription et j'essaie de créer la requête sql qui enregistrera l'utilisateur dans la base de donnée. Après un premier test, j'ai obtenu cette erreur:

Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in C:\Program Files\wamp\www\site\register.php on line 63

Je vous copie le code de ma page:

                $log = $_POST['login'];
                $pwd = $_POST['pwd'];
                $nom = $_POST['nom'];
                $prenom = $_POST['prenom'];
                $adr = $_POST['adresse'];
                $cp = $_POST['cp'];
                $ville = $_POST['ville'];
                $mail = $_POST['mail'];
               
                $req = mysql_query("insert into membre values(".$log.",".$pwd.",".$nom.",".$prenom.",".$adr.",".$cp.",".$ville.",".$mail")";");
                $result = execute($req);

Je ne sais pas ou se trouve l'erreur. Autre chose, je ne suis pas sur que la dernière ligne soit bonne...
Merci pour votre aide :)

6 réponses

Messages postés
962
Date d'inscription
samedi 19 janvier 2002
Statut
Membre
Dernière intervention
2 août 2010
1
Salut,

Tout d'abord ton script ne fonctionnera jamais, les valeurs sql doivent être entouré de guillemets.

Ton erreur est la:
$req = mysql_query("insert into membre values(".$log.",".$pwd.",".$nom.",".$prenom.",".$adr.",".$cp.",".$ville.",".$mail .");" );

Mais pour que ça fonctionne tu dois faire plutôt ça:

$req = mysql_query("insert into membre values('
$log'
,'
$pwd'
,'
$nom'
,'
$prenom'
,'
$adr'
,'
$cp'
,'
$ville'
,'
$mail'
);");

De plus, tu devrais échapper tes chaines mais bon ça ne concerne pas ton problème :).

-------------------
Vous cherchez un hebergement Php/MySQL Gratuit et sans publicités ??
Et bien c'est la : www.e3b.org  
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
25
Hello,

toutes les valeurs de type chaînes dans ta base doivent être insérées avec des apostrophes :
INSERT INTO matable (ChampTexte) VALUES ('valeur')
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
25
Ben oui, la fonction execute() n'existe pas en php. D'où la sors-tu ?
mysql_query() exécute déjà la requête.
Messages postés
962
Date d'inscription
samedi 19 janvier 2002
Statut
Membre
Dernière intervention
2 août 2010
1
J'ai dit guillemets, je voulais plutot dire apostrophes..

-------------------
Vous cherchez un hebergement Php/MySQL Gratuit et sans publicités ??
Et bien c'est la : www.e3b.org  
Messages postés
27
Date d'inscription
dimanche 16 mars 2008
Statut
Membre
Dernière intervention
15 juin 2010

Merci pour votre aide :)
Cette erreur là est réparée. Maintenant, j'ai une autre erreur. Une fois le formulaire rempli et lorsque je clique sur "envoyer"
j'ai ce message:

Fatal error: Call to undefined function execute() in C:\Program Files\wamp\www\site\register.php on line 64

la ligne 64, c'est celle-ci: $result = execute($req);
Messages postés
27
Date d'inscription
dimanche 16 mars 2008
Statut
Membre
Dernière intervention
15 juin 2010

ah ok : / je l'ai trouvé dans un topic sur internet, je pensais que c'était bon ^^
Merci :)

L'enregistrement fonctionne bien maintenant :) Merci pour votre aide ^^