在 MySQLi 中高效、安全地插入多行
在处理大型数据集时,高效地将数据插入 MySQL 数据库至关重要同时维护安全。这可以通过利用适当的技术来防止 SQL 注入并优化性能来实现。
插入多行的一种有效方法是在事务中使用准备好的语句。这种方法既保证了数据的完整性又保证了速度。考虑以下代码片段:
$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 注入漏洞。
这种方法的另一个优点是它提供了显着的性能提升。通过避免多次往返数据库服务器,与为每行使用单独的准备好的语句相比,事务方法大大减少了插入所需的时间。
为了说明此方法的效率,通过执行以下命令进行了测试使用 PHP 和 MySQLi 进行 10,000 次插入。结果表明,使用交易时速度显着提升:
使用交易和准备好的语句的组合不仅可以确保针对数据操纵攻击的安全性,还可以在将大量数据插入 MySQL 数据库时优化性能。
以上是如何高效、安全地将多行插入MySQLi?的详细内容。更多信息请关注PHP中文网其他相关文章!