PHP PDO准备&执行MySQL UPDATE语句不起作用 - 难倒!

时间:2011-05-20 03:07:04

标签: php mysql pdo execute prepare

我正在为我的应用程序开发一个超级简单的计数器。我可以使用'$ date'和'$ c'插入行,但更新不起作用。

这有效:

$c = 8;
$today = date('Y-m-d');
$insert_count = $db->prepare("INSERT INTO COUNTER (COUNTER.date, clicks) VALUES ('" . $today . "', ?)");
$insert_count->execute(array($c));

这不是

$c = 8;
$today = date('Y-m-d');
$update_count = $db->prepare("UPDATE COUNTER SET clicks = clicks + ? WHERE COUNTER.date = '" . $today . "'");
$update_count->execute(array($c));

没有错误,没有。

1 个答案:

答案 0 :(得分:0)

我不这么认为?绑定占位符与计算一起使用。您是否尝试过使用命名绑定参数?

$update_count = $db->prepare("UPDATE COUNTER SET clicks = clicks + :increment WHERE COUNTER.date = '" . $today . "'");
$update_count->execute(array("increment"=>$c));

当您说没有错误时,执行后该命令没有输出?

print_r($db->errorInfo());