沃梦达 / 编程问答 / php问题 / 正文

UPDATE多个ID中的PDO预准备语句

PDO prepared statement in UPDATE Multiple ID(UPDATE多个ID中的PDO预准备语句)

本文介绍了UPDATE多个ID中的PDO预准备语句的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在开发一个简单的购物系统,并使用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));

不分解,只更新第一行。

推荐答案

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

举个例子:

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

这篇关于UPDATE多个ID中的PDO预准备语句的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:UPDATE多个ID中的PDO预准备语句

基础教程推荐