Bonjour à tous,
J'ai la fonction suivante:Cette fonction provoque l'erreur suivante:
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 function insertAddress(array $data): false|string { $db = dbConnect(); var_dump($data); extract($data); //exit; $sql = <<<SQL INSERT IGNORE INTO dat_addresses ('id_user', 'address', 'country', 'zipcode', 'locality' ,'homephone') VALUES(':id_user', ':address', ':country', ':zipcode', ':locality', ':homephone') SQL; $array = [':id_user'=>$id_user, ':address'=>$address, ':country'=>$country, ':zipcode'=>$zipcode, ':locality'=>$locality, ':homephone'=>$homephone, ]; $stmt = $db->prepare($sql); $stmt->execute($array); return $db->lastInsertId(); }
avec cette indication en dernière ligne de la pile "call stack"Uncaught PDOException: SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokensor si je regarde bien ma fonction, j'ai bien 5 éléments bien orthographiés dans la requête et dans les paramètres.execute( $params = [':address' => '', ':country' => 'AL', ':zipcode' => '', ':locality' => '', ':homephone' => ''] )
L'image ci-dessous donne la structure de la table selon PhpMyAdmin:
![]()
Partager