我在实现`mysqli_real_escape_string的参数时遇到结构问题。我使用的地方在这样一个函数中:
/**
* Clean the array using mysql_real_escape_string
*
* Cleans an array by array mapping mysql_real_escape_string
* onto every item in the array.
*
* @param array $array The array to be cleaned
* @return array $array The cleaned array
*/
function clean($array)
{
return array_map('mysqli_real_escape_string', $array);
}
我收到双重警告:
警告:mysqli_real_escape_string()需要两个参数,一个在C:''vhosts''goodgirls1''core''database''db.php第59行给定
警告:mysqli_real_escape_string()需要两个参数,一个在C:''vhosts''goodgirls1''core''database''db.php第59行给定
所以,我试着这样做,看看我是否能满足这个错误:
function clean($array) {
return array_map(mysqli_real_escape_string(mysqli_connect('localhost', DB_USER, DB_PASS)), $array);
}
它似乎已经满足了它,但现在我得到了这个警告:
警告:mysqli_real_escape_string()需要两个参数,一个在C:''vhosts''goodgirls1''core''database''db.php第59行给定
这就是我现在迷失的地方。我给mysqli_real_escape_string
什么才能让它快乐?如果我给它一个不正确的缺失参数,那么我的数组似乎会爆炸。关于如何从这里着手,我将不胜感激。谢谢
function clean($array) {
$connection = mysqli_connect('localhost', DB_USER, DB_PASS);
return array_map(
function($value) use ($connection) {
return mysqli_real_escape_string($connection, $value);
},
$array
);
}
但是(因为您已经在使用MySQLi)考虑使用准备好的语句/绑定变量,而不是