Bonjour,
J'ai le code suivant:
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
 
<?php
function inserer($parametres, $inserer)
{
	global $bdd;
 
	$titresCol = str_replace(':', '', $parametres);
	$nbCol = count($inserer[1]);
 
	$requete = "INSERT IGNORE INTO adresses ($titresCol)
		VALUES ($parametres);";
	echo $requete;
	$reponse = $bdd->prepare($requete);
	foreach ($inserer as $key=>$ligne)
	{
		var_dump($ligne);
		$reponse->execute($ligne);
	}
	//return $reponse->rowCount();
}
?>
Ce code me renvoie une erreur:
"Uncaught exception 'PDOException' with message 'SQLSTATE[HY093]: Invalid parameter number: parameter was not defined' "
Pourtant le var_dump($ligne) me renvoie ce résultat:
array (size=5)
0 => string '1' (length=1)
1 => string 'xxxxxxxx' (length=8)
2 => string 'F' (length=1)
3 => string '03460' (length=5)
4 => string 'Trévol' (length=7)
La ligne echo $requete renvoie le texte suivant:
INSERT IGNORE INTO adresses (id_abo, client, pays, cp, ville) VALUES (:id_abo, :client, :pays, :cp, :ville);
J'ai bien 5 paramètres et 5 valeurs. Je n'ai pas pris en compte la clef primaire constituée par le champ id en auto-incrément et qui ne devrait donc pas poser de problème.