在PHP7之前,我会将implode
和array_map
结合使用mysql_real_escape_string
来遍历每个值,以准备它们以避免sql注入。 e.g:
$values = implode("', '", array_map('mysql_real_escape_string', $sqlArray));
mysql_real_escape_string
现已被mysqli::real_escape_string取代。如何使用新方法完成上述代码,就像使用array_map中的mysqli类一样容易?
答案 0 :(得分:5)
使用预准备语句可能会更好,但对于这个问题,请传递一个对象和方法数组。这适用于任何需要回调的内容:
$result = array_map(array($mysqli, 'real_escape_string'), $sqlArray);
假设您有一个$mysqli
对象,您可以使用mysqli class进行处理。