首页 >后端开发 >php教程 >如何使用 PHP 高效、安全地将多行插入 MySQLi 中?

如何使用 PHP 高效、安全地将多行插入 MySQLi 中?

Linda Hamilton
Linda Hamilton原创
2024-12-13 18:08:11732浏览

How Can I Efficiently and Securely Insert Many Rows into MySQLi Using PHP?

MySQLi 中高效、安全的多行插入

在 PHP 开发中,高效、安全地向 MySQL 数据库插入大量行可以是一个简单的方法。挑战。为了解决这个问题,必须采用防止 SQL 注入的技术,同时保持性能。

一种常见的方法是使用带有参数绑定的准备好的语句。但是,在需要插入大量行(例如 2000 行)的情况下,这种方法可能会很慢。

更有效的解决方案是利用数据库事务。事务允许您将多个操作组合在一起并将它们作为单个原子单元执行。通过启动事务,您可以使用单个准备好的语句插入多行,从而减少与执行单独插入相关的开销。

为了说明这一点,这里有一个优化的代码片段:

$array = array("array", "with", "about", "2000", "values");
$query = "INSERT INTO table (link) VALUES (?)";
$stmt = $mysqli->prepare($query);
$stmt->bind_param("s", $one);

$mysqli->query("START TRANSACTION");
foreach ($array as $one) {
    $stmt->execute();
}
$stmt->close();
$mysqli->query("COMMIT");

此代码初始化事务、准备插入语句并绑定参数。然后,它迭代值数组,为事务中的每个值执行插入语句。最后,它提交事务,完成所有插入。

与原始方法相比,这种方法显着提高了性能。在 10,000 次迭代的测试中,基于事务的插入仅花费了 2 秒,而原始方法花费了 226 秒。这是两个数量级的巨大速度提升。

通过利用事务和预准备语句,您可以在 PHP 中高效、安全地将多行插入到 MySQL 数据库中,从而确保数据完整性和性能优化。

以上是如何使用 PHP 高效、安全地将多行插入 MySQLi 中?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn