$_SESSION['variable'] INSERT INTO $variable chez ONLINE.net ?????

anonymeboy1979 Messages postés 2 Date d'inscription dimanche 28 décembre 2008 Statut Membre Dernière intervention 29 décembre 2008 - 29 déc. 2008 à 18:34
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 - 30 déc. 2008 à 13:59
Bonjour,


Je viens de créer un site internet (chez ONLINE.net) avec un formulaire d'inscription simple passant par


plusieurs page donc j'utilise $_SESSION en vérifiant bien si la données est bien presente (avec echo)
Les données de mes clients doivent être enregistré dans la base de données associèe .



Table de ma base de données => 2 champs : ID et Nom



Champ : ID

Type : BIGINT
Taille/Valeurs*1 : 20
Interclassement :
Attributs :
Null : not null
Défaut2 :
Extra : auto_increment
Commentaires :



Champ : Nom
Type : TEXT
Taille/Valeurs*1 :
Interclassement : latin1_general_ci
Attributs :
Null : not null
Défaut2 :
Extra :
Commentaires :




Maintenant, voici mon code PHP à la fin de mon formulaire pour écrire les données dans la table:


----------------------------------------------------------------------------------------------------------------



<?php
session_start();
?>




<html>






<?php
$Nom = $_SESSION['Nom'];
?>


<?php


$host = 'BaseDeDonnees.SiteInternet.com';
$base = 'BaseDeDonnees';
$login = 'BaseDeDonnees';
$pwd = 'MotsDePasse';


// Connexion au serveur


$db = mysql_connect($host, $login, $pwd);


// On test le retour de la connexion


if(!$db)
{
// on affiche un message d'erreur :
print "Désolé, connexion impossible à [$host] : ".mysql_error();
exit;
}





echo $Nom;



$sql = 'INSERT INTO `BaseDeDonnees`.`MaTable`(`ID`, `Nom`) VALUES (NULL,'$Nom');';




// Une requête qui retourne une erreur si vous n'avez pas de table


if(!mysql_query($sql,$db))
{
// on affiche un message d'erreur :
print "erreur sur la requête $sql dans la base [$base] du serveur [$host]
".mysql_error();
mysql_close($db);
exit;
}




// On a fini de travailler, on ferme la connexion :
mysql_close(); // Déconnexion de MySQL
?>



</html>
-------------------------------------------------------------------------------------------------------------


---
Lorsque je test mon site internet, j'ai comme ERREUR :



"syntax error, unexpected T_VARIABLE"


pour la ligne :
$sql = 'INSERT INTO `BaseDeDonnees`.`MaTable`(`ID`, `Nom`) VALUES (NULL,'$Nom');';


Il semblerai que c'est la syntaxe de la variable '$Nom' qui pose probléme, je ne comprends pas pourquoi !!!
Je tiens à préciser que je suis hébergé chez ONLINE.net

3 réponses

kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
29 déc. 2008 à 22:58
Salut,

J'ai lu très vite (j'ai rdv, chui à la bourre ), mais :$sql 'INSERT INTO `BaseDeDonnees`.`MaTable`(`ID`, `Nom`) VALUES (NULL,'$Nom');'; >
$sql = "INSERT INTO `BaseDeDonnees`.`MaTable`(`ID`, `Nom`) VALUES (NULL,'$Nom');";

Ca devrait mieux marcher.

Cordialement,

Kohntark -
0
hakimm200 Messages postés 2 Date d'inscription lundi 13 mars 2006 Statut Membre Dernière intervention 12 janvier 2009
30 déc. 2008 à 13:30
$sql = "INSERT INTO `BaseDeDonnees`.`MaTable`(`ID`, `Nom`) VALUES (NULL,'$Nom');";

Ou tu as vus ? qu'on met 2 point virgule à la fin d'une requete il ya plein d erreur ds ta requete
essaye ça
$sql = "INSERT INTO BaseDeDonnees MaTable (ID, Nom) VALUES (NULL,'$Nom')";
0
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
30 déc. 2008 à 13:59
@hakimm :
Ma requête me parait correcte, la tienne ne fonctionnera pas.

Il n'y a pas 2 points virgule dans la requête, mais 1 seul, qui n'est d'ailleurs pas obligatoire dans ce cas. Comme tu le dis, les '`' peuvent être supprimé (dans ce cas), mais il n'y a aucune erreur à les mettre, au contraire, ça peut en éviter plus d'une !

Tu as oublié le point entre BaseDeDonnees et MaTable => plantage de la requête

Cordialement,

Kohntark -
0
Rejoignez-nous