【问题标题】:PDO bind param in update query更新查询中的 PDO 绑定参数
【发布时间】:2013-11-25 13:39:22
【问题描述】:

我尝试使用 pdo 制作准备好的状态。可以同时进行多个更新吗?

例如:

    sql1 = "Update product set large = '1large' where id = 1";
    sql2 = "Update product set large = '2large' where id = 2";
    sql3 = "Update product set large = '3large' where id = 3";

如何在 Pdo 中准备 sql1,sql2....sqlN 以更快地执行? 我找到了一个示例,但它逐行工作(sql1,sql2 ....)

 <?php
   $stmt = $dbh->prepare("UPDATE product SET large = ':large'  WHERE id = ':id'");
   $stmt->bindParam(':id', $id, PDO::PARAM_STR);
   $stmt->bindParam(':large', $large, PDO::PARAM_STR);
   $stmt->execute();
 ?>

【问题讨论】:

  • 是的。获取有关 PDO 的任何教程并尝试遵循示例代码
  • 任何不能使用 'id' 作为 'large' 值的原因。如果 'id' 和 'large' 具有相同的值,为什么需要一个 'large' 字段?
  • 这是不同的值。我想将 sql1 sql2 sql3 绑定在一个准备好的语句中,然后执行 3 个 sql 的一次
  • 你只需要准备一个查询 $sql1 然后在循环中运行执行
  • 感谢您的解释。

标签: php database pdo


【解决方案1】:

与可以组合到单个语句中的插入不同,更新特定于数据库中的现有条目。

根据您所做工作的更广泛背景,您可能会发现类似这样的问题,用于使用 CASE、WHEN、THEN 进行批量更新:

问题:Update multiple rows with one query?

【讨论】:

    猜你喜欢
    • 2013-04-10
    • 2013-12-26
    • 1970-01-01
    • 2017-01-29
    • 2013-06-28
    • 2014-05-12
    • 1970-01-01
    • 1970-01-01
    • 2013-03-07
    相关资源
    最近更新 更多