Bonjour,
J'ai toujours et toujours des difficultés à lever les erreurs PDO->statement. Je n'arrive jamais à trouver les raisons de l'erreur HY093 lorsque j'ai le même nombre de paramètres (9). J'ai vérifié l'orthographe et la ponctuation.
Voici mon code:et l'affichage des var_dump:
Code php : 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 function updateUser($data) { global $db; $data['update_date'] = TODAY_SQL; $set = "SET login=:login, last_name=:last_name, first_name=:first_name, mail=:mail, writer=:writer, banned=:banned, update_date:=update_date"; if (isset($data['pw'])) $set .= ", pw=:pw"; $query = " UPDATE dat_users $set WHERE id=:id ;"; var_dump($data); var_dump($query); $result = $db->prepare($query); $result->execute($data); return $result->rowCount(); }array (size=9)
'id' => string '13' (length=2)
'login' => string 'test' (length=4)
'first_name' => string 'test' (length=4)
'last_name' => string 'test' (length=4)
'mail' => string 'test@test.fr' (length=12)
'pw' => string '$2y$11$bQkq8z9mYzIbyRvhuUIJuOtkcepipnxnL.Uga1NZXa7UMDJlyT97G' (length=60)
'writer' => int 1
'banned' => int 0
'update_date' => string '2018-03-17' (length=10)
UPDATE dat_users
login=:login, last_name=:last_name, first_name=:first_name, mail=:mail, writer=:writer, banned=:banned, update_date:=update_date, pw=:pw
WHERE id=:id
;' (length=176)
Partager