在数据库中添加常量值并使用PDO进行更新

时间:2012-08-10 22:10:38

标签: php pdo

以下是场景:我需要一种机制来更新值(对当前值加1),该机制存储在数据库中,供登录到网站的某个用户使用。这是当前的代码:

$value = $row["value"];
$add_value = $db->prepare('UPDATE table SET value = $value + 1 WHERE email = :email');
$add_value->execute(array(':email'   => $email));

但我收到的是以下错误消息: 解析错误:语法错误,意外的T_LNUMBER在......

我做错了什么?

1 个答案:

答案 0 :(得分:1)

首先,您使用单引号,这意味着不会解析变量。 (查询实际上是$value,而不是实际值。

其次,您不需要事先知道该值,以下工作正常:

$add_value = $db->prepare('UPDATE `table` SET `value` = `value` + 1 WHERE `email` = :email');
$add_value->execute(array(':email'   => $email));

数据库引擎知道要正确更新字段。

相关问题