2012-02-29 24 views
2

我想INSERT一組(以陣列的形式)提交的$ _ POST數據作爲如何使用mysql_real_escape_string作爲數組?

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注入的最佳場所,因爲該數據是由用戶提交的。

回答

6

在去你的第一個foreach之前。

$_POST['data'] = array_map("mysql_real_escape_string", $_POST['data']); 
-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."");