【发布时间】:2013-02-15 10:45:09
【问题描述】:
我正在寻找一种使用 PHP 和 MySQLi 一次插入大量行(约 2000 年)的 SQL 注入安全技术。
我有一个包含所有必须包含的值的数组。
目前我正在这样做:
<?php
$array = array("array", "with", "about", "2000", "values");
foreach ($array as $one)
{
$query = "INSERT INTO table (link) VALUES ( ?)";
$stmt = $mysqli->prepare($query);
$stmt ->bind_param("s", $one);
$stmt->execute();
$stmt->close();
}
?>
我尝试了call_user_func_array(),但它导致了堆栈溢出。
有什么更快的方法可以做到这一点(比如一次全部插入?),但仍然可以防止 SQL 注入(比如准备好的语句)和堆栈溢出?
谢谢!
【问题讨论】:
-
1 次准备,N 次执行
-
但是如果我在执行时设置循环真的会更快吗?