Créer une fonction standard d'insertion de données
Bonjour à tous,
Pour éviter de créer une multitude de fonctions paramétrées, j'essaye de développer une fonction standard. Je bute sur l'écriture du tableau à mettre en paramètre de la fonction execute().
Voici mon code dans son état actuel. L'argument $post correspond au contenu nettoyé et contrôlé du formulaire.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| function insertIntoTable($table, $post) {
$db = dbConnect();
//var_dump($post);
$aCols = [];
$aParams= [];
//$aData = [];
foreach($post as $key=>$value) {
var_dump($key, $value);
$aCols[] = $key;
$aParams[] = ':'.$key;
//$aData[':'.$key]= $key;
}
$sCols = implode(',', $aCols);
$sParams= implode(',', $aParams);
var_dump($sCols);
var_dump($sParams);
//var_dump($aData);
$sql = <<<SQL
INSERT IGNORE INTO $table ($sCols)
VALUES($sParams)
SQL;
$stmt = $db->prepare($sql);
//$stmt->execute(); // ajouter paramètres
return $stmt->rowCount();
} |