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 : Sélectionner tout - Visualiser dans une fenêtre à part
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();
}