【发布时间】:2012-01-26 13:26:14
【问题描述】:
我有这个 PHP 脚本:
$q = $dbc -> prepare("
UPDATE accounts
SET motivation = motivation-10
WHERE id = ?
");
$q -> execute(array($user['id']));
但它是减去 20 而不是 10。当我在 mysql 中运行查询时,它只减去十。为什么?
【问题讨论】:
-
请输入更多信息,我怀疑你的 PHP 上只有这个?页面,因为没有 PHP 标记以及
$dbc从未初始化等。所以多一点上下文会很好。您如何调用脚本等。 -
您必须拥有更多,因为此代码不会设置 PDO 对象或连接...
-
是的,我有,但这是合而为一的要求吗?里面什么都没有?
-
您的脚本运行了两次,即使您只调用了一次。查看您的网络日志,您可能会看到每个页面加载的两个请求。可能是重写规则造成的。
-
我曾经遇到过与此非常相似的问题,在对着我的电脑大喊大叫之后,结果发现我将图像标签的
src属性留空,这导致 PHP页面在每次页面加载时被调用两次。
标签: php mysql pdo prepared-statement