Insertion avec array associatif
tyranausor
Messages postés
4198
Statut
Membre
-
tyranausor Messages postés 4198 Statut Membre -
tyranausor Messages postés 4198 Statut Membre -
Bonjour, après des recherches sur le web, je n'ai pas trouvé la réponse à ma question. J'ai créé un formulaire qui me retourne, en $_POST, un array associatif avec [clé]=>valeur où clé correspond au nom du champ de ma base de donnée.
J'ai un truc du genre
_______________
id|champ1|champ2|
Est-ce que c'est possible d'insérer les valeurs avec une requête préparée en "disant" à php que mes noms de champs sont en clé?
J'ai un truc du genre
array=([champ1]=>valeur1, [champ2]=>valeur2)et ma base mysql se présente ainsi :
_______________
id|champ1|champ2|
Est-ce que c'est possible d'insérer les valeurs avec une requête préparée en "disant" à php que mes noms de champs sont en clé?
A voir également:
- Insertion avec array associatif
- Touche insertion clavier - Guide
- Insertion sommaire word - Guide
- Insertion video powerpoint - Guide
- Insertion filigrane word - Guide
- Insertion liste déroulante excel - Guide
2 réponses
Bonjour,
A la limite.. tu peux construire la requête comme ceci :
A la limite.. tu peux construire la requête comme ceci :
//récupération PROPRE des variables
//$tonArray = !empty($_POST['tonarray']) ? $_POST['tonarray'] : NULL;
//pour les tests :
$tonArray = array('champ1'=>'valeur1', 'champ2'=>'valeur2');
$strFields = "";
$strKeys = "";
$arrFields = array();
$arrkeys = array();
$arrDatas = array();
if($tonArray){
foreach($tonArray as $K=>$V){
$arrFields[] = $K;
$arrkeys[] = ':'.$K;
$arrDatas[':'.$K]=>$V;
}
$strFields = join(',',$arrFields);
$strKeys = join(',',$arrkeys);
$sql = "INSERT INTO tatable ($strFields) VALUES($strKeys);"
try {
$prep = $bdd->prepare($sql);
$prep->execute($arrDatas);
}catch(Exception $e){
echo "Erreur ! ".$e->getMessage();
}
}