1

我正在创建位于此处的网站。

在我的单打页面(示例)上,它只显示一个项目,我希望它更新我的数据库中名为“mobi”的视图字段,并带有 +1 命中,当前设置为 int(6)。

我希望它能够从数据库中查看 promo_title 的内容。

include_once该页面通过我所有页面上的 php 代码连接到数据库。

我一直在使用的代码是这样的:

$query = $pdo->prepare ("UPDATE mobi SET views = views +1 WHERE promo_title= ? ");
$query->bindValue(1, $promo_title);
$query->execute();

但这似乎不起作用。

请问有人能告诉我哪里出错了吗?

有没有其他方法可以做到这一点?

如果您需要更多信息,请询问,我会更新。

谢谢你。

4

1 回答 1

0

$query->rowCount();如果您在 之后立即调用它,它的价值是什么execute()

我敢打赌它是零。我敢打赌你的WHERE子句不匹配任何行。

您第一次尝试更新给定的表时,可能promo_title还没有插入任何匹配的行。如果这是真的,您必须插入该行。

您的 promo_title列可能是CHAR(n)列而不是VARCHAR(n)列。试试这个 SQL 而不是你必须测试这个假设:

UPDATE mobi SET promo_views = promo_views +1 WHERE TRIM(promo_title) = TRIM(?)

请注意,这样做的性能会很糟糕,因为该TRIM函数promo_title最终会破坏任何索引的使用。但如果它有效,你就会知道哪里出了问题。

于 2013-09-11T19:01:29.850 回答