如何对数组使用mysql_real_escape_string?

4
我希望你能够将以数组形式提交的 $_POST 数据集作为 INSERT 操作插入。
foreach($_POST['data'] as $single) {
$set[]="('static', '$single')";
}
$sets=implode(", ", $set);
mysql_query("INSERT INTO table (Static, Data) VALUES $sets");

当数据由用户提交时,使用mysql_real_escape_string以避免SQL注入攻击的最佳位置是什么?

2个回答

10

在进行第一次foreach之前。

$_POST['data'] = array_map("mysql_real_escape_string", $_POST['data']);

我真的很喜欢第一句话。 :) - pedrouan

-1

试试这个:

foreach($_POST['data'] as $single)
{
    $set[]="('static', mysql_real_escape_string($single))";
}
$sets = implode(", ", $set);
mysql_query("INSERT INTO `table` (`Static`, `Data`) VALUES ".$sets."");

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接