使用 MySQLi 高效、安全地插入多行
将大量行插入 MySQL 数据库需要效率和安全性。使用简单的方法(如提供的 PHP 代码所示)可能会导致性能问题和 SQL 注入漏洞。
为了解决这些问题,更佳的解决方案是在事务中执行插入并移动语句循环外的准备和绑定:
$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 条记录需要 226 秒,而优化后的方法只需 2 秒即可完成任务。这意味着效率提高了两个数量级。
通过利用事务,您可以一次插入多行,同时保持数据完整性并确保防止 SQL 注入。这种方法提供了速度和安全性,使其成为高效地将大量数据插入 MySQL 数据库的首选方法。
以上是如何高效、安全地将多行插入MySQL数据库?的详细内容。更多信息请关注PHP中文网其他相关文章!