如何将 PHP7 的 $mysqli->real_escape_string 与数组一起使用
How to use PHP7's $mysqli->real_escape_string with an array
在 PHP7 之前,我会结合 implode
和 array_map
来遍历每个带有 mysql_real_escape_string
的值,为避免 [=25] 的语句做准备=]注射。例如:
$values = implode("', '", array_map('mysql_real_escape_string', $sqlArray));
mysql_real_escape_string
现在已被 mysqli::real_escape_string 取代。如何使用新方法完成上述代码,就像在 array_map?
中使用 mysqli class 一样容易
您最好使用准备好的语句,但对于这个问题,传递一个对象和方法数组。这应该适用于任何需要回调的东西:
$result = array_map(array($mysqli, 'real_escape_string'), $sqlArray);
假设您有一个来自 mysqli class 的 $mysqli
对象。
在 PHP7 之前,我会结合 implode
和 array_map
来遍历每个带有 mysql_real_escape_string
的值,为避免 [=25] 的语句做准备=]注射。例如:
$values = implode("', '", array_map('mysql_real_escape_string', $sqlArray));
mysql_real_escape_string
现在已被 mysqli::real_escape_string 取代。如何使用新方法完成上述代码,就像在 array_map?
您最好使用准备好的语句,但对于这个问题,传递一个对象和方法数组。这应该适用于任何需要回调的东西:
$result = array_map(array($mysqli, 'real_escape_string'), $sqlArray);
假设您有一个来自 mysqli class 的 $mysqli
对象。