2011-06-24 3 views
1

Я пытался выполнить SQL-запрос (insert into users set cash = cash + 20), Может ли кто-нибудь помочь мне с подготовленной версией оператора PDO вышеупомянутого запроса?PHP -> Заявление об обновлении PDO

+1

Это не является допустимым заявление вставки. Это должно быть 'insert into users set cash = 20'. Вы ищете инструкцию для обновления? –

+0

@Francois: О! В самом деле. Оформить второй синтаксис INSERT http://dev.mysql.com/doc/refman/5.5/en/insert.html –

+1

@ Шакти Сингх - Я должен вам извиниться. Вы абсолютно правы. Я понятия не имел, что ты можешь это сделать. –

ответ

0

Вы пытаетесь сделать обновление, а не вставка

UPDATE users SET cash = (cash + 20) 
WHERE <condition> 
3

Я не могу понять, если вы хотите, чтобы вставить или обновить. Ниже приведены примеры инструкций, подготовленных PDO. Они предполагают, что вы уже подключены и что объект PDO равен $dbh.

Вставка:

$sth = $dbh->prepare('INSERT INTO `users` (`cash`) VALUES (?)'); 
$sth->execute(array(20)); 

Update:

// All users 
$sth = $dbh->prepare('UPDATE `users` SET `cash` = `cash` + ?'); 
$sth->execute(array(20)); 

// A specific user (assuming that there's a field name "id") 
$sth = $dbh->prepare('UPDATE `users` SET `cash` = `cash` + ? WHERE `id` = ?'); 
$sth->execute(array(20, $id)); 
Смежные вопросы