首页 > 后端开发 > php教程 > 如何使用 PHP 和 ID 数组高效更新多个 MySQL 记录?

如何使用 PHP 和 ID 数组高效更新多个 MySQL 记录?

Barbara Streisand
发布: 2024-11-27 21:58:18
原创
280 人浏览过

How to Efficiently Update Multiple MySQL Records Using PHP with Array of IDs?

迭代 MySQL 查询的 ID 数组

在 PHP 中使用 MySQL 查询时,您可能需要合并来自数组到查询中。本指南演示了如何使用准备好的语句和动态 SQL 查询来有效地实现这一点。

准备好的语句(推荐)

准备好的语句提供增强的安全性和效率。以下是如何使用它们:

$ids = array(2, 4, 6, 8);

$sql = "UPDATE MyTable SET LastUpdated = GETDATE() WHERE id = ?";
$stmt = $mysqli->prepare($sql);

for ($i = 0; $i < count($ids); $i++) {
    $stmt->bind_param("i", $ids[$i]);
    $stmt->execute();
    echo "Updated record ID: $ids[$i]";
}

$stmt->close();
登录后复制

动态 SQL 查询

或者,您可以动态构造动态 SQL 查询:

$ids = array(2, 4, 6, 8);

$params = implode(",", array_fill(0, count($ids), "?"));
$sql = "UPDATE MyTable SET LastUpdated = GETDATE() WHERE id IN ($params)";
$stmt = $mysqli->prepare($sql);

$types = str_repeat("i", count($ids));
$args = array_merge(array($types), $ids);
call_user_func_array(array($stmt, 'bind_param'), ref($args));

$stmt->execute();

echo "Updated record IDs: " . implode(",", $ids);
登录后复制

比较和使用指南

  • 准备好的语句: 迭代执行多个数据库操作。更适合 INSERT 和 UPDATE 查询。
  • 动态 SQL: 对所有记录执行单个更高效的查询。非常适合涉及相同数据的 SELECT、DELETE 和 UPDATE 操作。

准备语句的好处

  • 安全性:防止SQL注入
  • 效率:重复使用已编译的语句进行多次执行。
  • 紧凑性:在执行期间仅传输参数值。

以上是如何使用 PHP 和 ID 数组高效更新多个 MySQL 记录?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板