【问题标题】:PHP SQL Views counter using PDO prepare()使用 PDO prepare() 的 PHP SQL 视图计数器
【发布时间】:2013-10-20 10:31:35
【问题描述】:

我有一个变量$id,它为我提供了当前文章的id,这可以帮助我在当前文章的数据库中进行更新查询。

这是我的代码:

$vizualizari = $current_views+1;
   $sql1= "UPDATE detalii_cantari SET viz = viz WHERE id = {$id};";
$q1 = $dbh->prepare($sql1);
$q1->execute(array(':viz'=>$vizualizari));

我没有收到任何错误,但我的代码仍然无法正常工作...

【问题讨论】:

    标签: php mysql sql pdo


    【解决方案1】:

    您的正确代码在这里:

    $vizualizari = $current_views+1;
        $sql1= "UPDATE detalii_cantari SET viz = :viz WHERE id = {$id}";
    $q1 = $dbh->prepare($sql1);
    $q1->execute(array(':viz'=>$vizualizari));
    

    这里不需要 sql 末尾的;,并且由于 PDO,viz = viz 必须变为 viz = :viz

    【讨论】:

    • 另外,如果你已经在使用PDO绑定你的参数,你也可以绑定$id。
    • 非常感谢 Domuta Marcel,这是我想要的,现在正在工作。
    • 这总是必要的
    【解决方案2】:

    看来您必须摆脱 previous 查询并将其放在单个语句中

    $sql = "UPDATE detalii_cantari SET viz = viz + 1 WHERE id = ?";
    $stm = $dbh->prepare($sql);
    $stm->execute(array($id));
    

    【讨论】:

    • 是的,您的 SQL 查询是最简单的方法,我 +1
    猜你喜欢
    • 2011-11-23
    • 2011-06-29
    • 1970-01-01
    • 1970-01-01
    • 2018-01-03
    • 1970-01-01
    • 2014-08-19
    • 2014-04-27
    • 2014-09-04
    相关资源
    最近更新 更多