Bonjour,
J'ai le code suivant:
Ce code me renvoie une erreur:
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(); } ?>
"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.
Partager