如何使用单个 PDO 查询将多行插入 MySQL 数据库?

Mary-Kate Olsen
发布: 2024-11-07 02:59:03
原创
582 人浏览过

How to Insert Multiple Rows into a MySQL Database with a Single PDO Query?

PDO MySQL:使用 BindValues 在单个查询中插入多行

要使用 PHP 数据对象 (PDO) 在一个查询中将多行插入 MySQL 数据库,请考虑以下步骤:

1.准备查询:
使用占位符为要插入的值创建可自定义的查询字符串。例如:

$query = "INSERT INTO $table (key1, key2, key3) VALUES (?, ?, ?)";
登录后复制

2。将值绑定到占位符:
使用准备好的语句的bindValue() 方法将数据数组中的值绑定到查询中的占位符。

$i = 1;
foreach ($data as $item) {
    $stmt->bindValue($i++, $item['key1']);
    $stmt->bindValue($i++, $item['key2']);
    $stmt->bindValue($i++, $item['key3']);
}
登录后复制

3.执行查询:
最后,执行准备好的语句,这会将所有绑定值插入数据库。

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

示例:
这是一个如何在代码中实现此技术的示例:

$pdo = new PDO('mysql:host=localhost;dbname=database_name', 'username', 'password');

$query = "INSERT INTO table_name (column1, column2) VALUES (?, ?), (?, ?), (?, ?)";

$data = [
    ['value1', 'value2'],
    ['value3', 'value4'],
    ['value5', 'value6'],
];

$stmt = $pdo->prepare($query);

$i = 1;
foreach ($data as $item) {
    $stmt->bindValue($i++, $item[0]);
    $stmt->bindValue($i++, $item[1]);
}

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

通过利用此方法,您可以通过单个查询高效地将多行插入 MySQL 数据库,避免原始代码的限制。

以上是如何使用单个 PDO 查询将多行插入 MySQL 数据库?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!