如何使用mysql_real_escape_string作为数组?

时间:2012-02-29 06:05:57

标签: php mysql sql arrays sql-injection

我希望INSERT $ _POST(以数组形式)提交的一组数据为

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

使用use mysql_real_escape_string避免SQL注入的最佳位置在哪里,因为数据是由用户提交的。

2 个答案:

答案 0 :(得分:8)

在去你的第一个foreach之前。

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

答案 1 :(得分:-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."");