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 -
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 :
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
- Mysql error in file: /engine/classes/mysql.php at line 53 ✓ - Forum Réseaux sociaux
- Vba range avec variable ✓ - Forum VB / VBA
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
234
Date d'inscription
Statut
Membre
Dernière intervention
19
Merci :)