安全、高效地将大量数据插入 MySQL 数据库对于许多应用程序至关重要。本问题探讨了有效插入 2000 行同时确保 SQL 注入保护的技术。
提供的代码片段迭代一组值,为每次插入准备并执行单独的查询。虽然可以防止 SQL 注入,但这种方法效率低下,并可能导致堆栈溢出。
事务的增强解决方案:
更优化的解决方案涉及利用 MySQL 事务。通过将插入分组到单个事务中,数据库可以优化流程并显着减少执行时间。
$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");
性能比较:
此技术提供了基准测试证明,速度显着提高:
这对于测试用例而言,速度提升了两个数量级,令人印象深刻。
通过利用事务,您可以高效地插入批量数据,同时保持 SQL 注入安全性并避免堆栈溢出。
以上是如何高效向MySQL插入2000行,同时防止SQL注入和堆栈溢出?的详细内容。更多信息请关注PHP中文网其他相关文章!