Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 内爆阵列->;检查字符->;插入数据库_Mysql_Arrays_Preg Replace_Implode - Fatal编程技术网

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...;
}
然后运行查询

*在构建查询之前,我想