【问题标题】:PDO prepared statement in UPDATE Multiple IDUPDATE Multiple ID 中的 PDO 准备好的语句
【发布时间】:2016-02-02 19:14:38
【问题描述】:

我正在开发一个简单的购物系统,并使用PDO。 但是在使用多个值进行更新时,我似乎无法使用 PDO ... 看这里:

    // GET MESSAGES ID AND REPLACE '-' WITH ','
    $mid = explode("," , str_replace( '-' , ',' , $mid ));
    $isread = "read";

    $stmt = $conn->prepare("UPDATE `mshop_pms` SET `readperm` = ? WHERE `mid` IN (?)");
    $stmt->execute(array($isread, array($mid)));

我该怎么做?并这样做:

$stmt->execute(array($isread, $mid));

没有爆炸它只是更新第一行。

提前致谢。

【问题讨论】:

    标签: php mysql pdo sql-update prepared-statement


    【解决方案1】:

    它不会以这种方式工作。您需要遍历分解后的数组,然后继续更新。

    这是一个例子:-

    // GET MESSAGES ID AND REPLACE '-' WITH ','
        $mid = explode("," , str_replace( '-' , ',' , $mid ));
        $isread = "read";
    try
    {
    $stmt = $conn->prepare("UPDATE `mshop_pms` SET `readperm` = :readperm WHERE `mid` = :mid");
    }
    catch(PDOException $e)
    {
    echo $e->getMessage();
    }
        //now update and iterate
    foreach($mid as $m)
    {
    $s->bindParam(':readperm', $isread);
    $s->bindParam(':mid', $m);
    $s->execute();
    }
    

    【讨论】:

      猜你喜欢
      • 2018-01-24
      • 1970-01-01
      • 2021-01-28
      • 2010-11-30
      • 1970-01-01
      • 1970-01-01
      • 2011-07-13
      相关资源
      最近更新 更多