2013-04-17 2 views
1

Я пытаюсь выполнить следующий запрос:PHP PDO UPDATE запрос с затруднительным Params

$sth = "UPDATE `users` SET users_password VALUES (:hash) WHERE users_id = $users_id"; 
$q = $conn->prepare($sth); 
$q->execute(array(':hash'=>$hash)); 

Но Im получая следующие:

Uncaught exception 'PDOException' with message 'SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'VALUES ('$2y$12$Ao46iC7W9Lj8FFfSmAaeoeQs9O.3QRVtDbHAyvpzH90YIUN61ma8i') WHERE us' at line 1' 

Есть идеи?

(да и код не в попытке, поймать блок еще раз экспериментировать на них момент с несколькими вещами)

+1

The Предложение 'VALUES' принадлежит к запросу' INSERT', а не 'UPDATE'. – mario

+2

Почему бы не связать users_id? –

+0

wow спасибо Марио, что очень полезно спасибо за ваше решение ... – twigg

ответ

0

изменения этого

$sth = "UPDATE `users` SET users_password VALUES (:hash) WHERE users_id = $users_id"; 

к

$sth = "UPDATE `users` SET users_password = :hash WHERE users_id = $users_id"; 
+1

почему downvote? по крайней мере объяснить. Потому что этот ответ правильный. –

+1

Это был не я, кто проголосовал за :), он отлично сработал. Я думаю, что это был парень Марио из вышеприведенных грустных людей, таких как он в сообществе PHP, здесь не для того, чтобы помочь, а просто показать, насколько далеко «Превосходные» они занимаются кодированием, чем такие новые парни, как я, не предлагая никакой помощи. – twigg

Смежные вопросы