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

如何高效、安全地将多行插入MySQLi?

Barbara Streisand
发布: 2024-12-31 16:12:13
原创
364 人浏览过

How Can I Efficiently and Securely Insert Multiple Rows into MySQLi?

在 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 次插入。结果表明,使用交易时速度显着提升:

  • 无交易:226 秒
  • 有交易:2 秒

使用交易和准备好的语句的组合不仅可以确保针对数据操纵攻击的安全性,还可以在将大量数据插入 MySQL 数据库时优化性能。

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

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板