php - UPDATE Multiple ID 中的 PDO 准备语句

标签 php mysql pdo sql-update prepared-statement

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

关于php - UPDATE Multiple ID 中的 PDO 准备语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33485504/

相关文章:

php - 为什么 DOMDocument 不能与 WAMP 服务器一起使用?

php - 如何使用按钮清除<div>的内容

php - MySQL按不同日期选择,有日期限制但没有条目

php - wamp服务器的图标没有变成绿色

php - 编译安装php 5.3.9时zip.so在哪里

php - 协同工作的 MySQL 表

MySQL查询不同列中上一行值和下一行值的差异

mysql - 从React表单发布到我的后端API时出错

mysql - "show databases"不显示数据库

php - 包含或要求的 undefined variable