MySql : Insert avec le contenu des variables
miltonis
Messages postés
247
Statut
Membre
-
miltonis Messages postés 247 Statut Membre -
miltonis Messages postés 247 Statut Membre -
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 :
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 !
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 !
A voir également:
- Mysql insert variable
- Touche insert - Guide
- Disk boot failure insert system disk and press enter - Guide
- Mysql community server - Télécharger - Bases de données
- Accéder à la fonction secondaire "insert" de ma touche "Delete" - Forum PC portable
- Insert boot media in selected boot device and press a key ✓ - Forum Windows 10
1 réponse
Salut,
Les valeurs dans ta requête sql doivent être entourées de quote.
Différentes façons de faire plus ou moins lisible :
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
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
miltonis
Messages postés
247
Statut
Membre
19
Merci :)