php "insert into"

Petit nouveau ! | 1 Messages

22 avr. 2011, 13:46

bonjour je besoin d'aide
<?php
$r1 = $_POST["r1"];
$nom = $_POST["nom"];
$prenom = $_POST["prenom"];
$pw = $_POST["mot_de_passe"];
$mail = $_POST["mail"];
$ad1 = $_POST["adresse2"];
$ad2 = $_POST["adresse1"];
$cp = $_POST["code_postal"];
$inf_comp = $_POST["info"];
$tel = $_POST["tel"];
$ville = $_POST["ville"];




$connexion =mysql_connect("localhost","client","2222");
if ($connexion) {
if( mysql_select_db( 'site' ) == True )
{
$requete =" INSERT INTO client (civilite, nom , prenom , mail ,mot de passe , adresse 1 , adresse 2 ,code postal ,ville , info_sup , telephonne) VALUES ('".$r1"','".$nom."','".$prenom."','".$pw."','".$mail."','".$ad1."','".$ad2."','".$cp."','".$ville."','".$info_comp."','".$tel."');";
$resultat = mysql_query($requete);

echo"ertyuiop";
}
else {
print "<p>Erreur lors de la connexion ...</p>";
exit;
}
}
else
echo 'Sélection de la base impossible';

?>


a l’exécution voila le message qui s'affiche
( ! ) Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in C:\wamp\www\gadgets\php\inscri.php on line 27 et la ligne en rouge c'est
la ligne 27 et merci

ViPHP
xTG
ViPHP | 7331 Messages

22 avr. 2011, 15:28

1) mauvais forum...
2) données non protégées... => mysql_real_escape_string() !!!
3) Il te manque un opérateur de concaténation après $r1

ViPHP
AB
ViPHP | 5818 Messages

22 avr. 2011, 16:15

Il te manque aussi $tel dans ta requête d'insertion.

Eléphant du PHP | 127 Messages

22 avr. 2011, 16:53

+ un petit sprintf peut être utile...
$requete = "INSERT INTO client (civilite, nom , prenom , mail ,mot de passe , adresse 1 , adresse 2 ,code postal ,ville , info_sup , telephonne) 
VALUES ('%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s');";
echo sprintf($requete, $r1, $nom, $prenom, $pw, $mail, $ad1, $ad2, $cp, $inf_comp, $tel, $ville);

Mammouth du PHP | 881 Messages

22 avr. 2011, 18:08

Le point-virgule à l'intérieur des guillemets est inutile
ton mysql_query devrait comporter la base dans laquelle travailler: mysql_query($requete, $db)

ViPHP
xTG
ViPHP | 7331 Messages

22 avr. 2011, 18:37

ton mysql_query devrait comporter la base dans laquelle travailler: mysql_query($requete, $db)
Pas nécessairement s'il ne travaille que sur une seule et unique connexion. Comme l'indique la documentation c'est un paramètre facultatif.