Mysql 内爆阵列->;检查字符->;插入数据库
我有一个这样的数组Mysql 内爆阵列->;检查字符->;插入数据库,mysql,arrays,preg-replace,implode,Mysql,Arrays,Preg Replace,Implode,我有一个这样的数组 Array ( [register] => Array ( [0] => Array ( [firstname] => Marc [surname] => hamster [company] => 12345678 [position] => !\"§$%&/(hamste$r ) [1] => Array ( [country] => [zip] => [city] => [street] => )
Array ( [register] => Array ( [0] => Array ( [firstname] => Marc [surname] => hamster [company] => 12345678 [position] => !\"§$%&/(hamste$r ) [1] => Array ( [country] => [zip] => [city] => [street] => ) [2] => Array ( [homepage] => [phone] => [mobile] => ) [3] => Array ( [email] => [password1] => [password2] => ) ) )
我将这些数据放入如下数据库:
// build query...
$sql = "INSERT INTO table";
// implode keys of $array...
$sql .= " (`".implode("`, `", array_keys($array))."`)";
// implode values of $array...
$sql .= " VALUES ('".implode("', '", $array)."') ";
// execute query...
$result = mysql_query($sql) or die(mysql_error());
但是在我想替换像这样的特殊字符之前……为了避免SQL注入
$text= preg_replace("/[^a-zA-Z0-9\-öäüÖÄÜ@ ]/","",$text);
有没有一种简单而智能的方法可以做到这一点?我认为您需要首先循环遍历阵列*-例如:
foreach ( $columns as $value){
$value = preg_replace etc...;
}
然后运行查询
*在构建查询之前,我想