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中文网其他相关文章!