MySql : Insert avec le contenu des variables

miltonis Messages postés 234 Date d'inscription   Statut Membre Dernière intervention   -  
miltonis Messages postés 234 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Afin d'insérer des données dans une table que j'ai créé, en farfouillant j'ai pondu ce petit bout de code :

$recup = "Nomdefamille Prénom<em>Nom de ma société</em>";

//First explode : Prenom-Nom and Societe
$recup = explode('<em>', $recup);

//Second explode : Prenom and Nom
$name = explode(' ', utf8_decode($recup[0]));

//$nom receive Nom
$nom = $name[0];

//$prenom receive Prenom
$prenom = $name[1];

//$con receive societe
$com = utf8_decode($recup[1]);

//Insertion dans la Base
//while ($maboucle == true) {
$bdd->exec('INSERT INTO signataires(id, nom, prenom, societe, email) VALUES(\'\', '.$nom.', '.$prenom.', '.$com.', \'\')');
//}


La connexion à la base se fait bien. Pour l'insertion dans la base, si je remplace les variables par du texte, ça fonctionne. Dès que je remets les variables, ça ne marche plus ! :/
Pourquoi ? Ai-je oublié quelque chose ?

merci pour votre aide et bonne journée !

1 réponse

Pitet Messages postés 2826 Date d'inscription   Statut Membre Dernière intervention   527
 
Salut,

Les valeurs dans ta requête sql doivent être entourées de quote.
Différentes façons de faire plus ou moins lisible :
// avec des quotes simple
$bdd->exec('INSERT INTO signataires(id, nom, prenom, societe, email) VALUES(\'\', \''.$nom.'\', \''.$prenom.'\', \''.$com.'\', \'\')');

// avec des doubles quotes sans concaténation
$bdd->exec("INSERT INTO signataires(id, nom, prenom, societe, email) VALUES('', '$nom', '$prenom', '$com', '')");

// avec des doubles quotes avec concaténation
$bdd->exec("INSERT INTO signataires(id, nom, prenom, societe, email) VALUES('', '" . $nom . "', '" . $prenom . "', '" . $com . "', '')");


Dans l'idéal, il faudrait plutôt utiliser une requête préparée ou au moins appliquer un contrôle sur les variables pour éviter les éventuelles injections sql.

Bonne journée
0
miltonis Messages postés 234 Date d'inscription   Statut Membre Dernière intervention   19
 
Merci :)
0