Правильная структура для соответствия параметрам mysqli_real_escape_string

У меня есть проблема структуры с реализацией параметров для 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 () ожидает ровно 2 параметра, 1 указан в C: \ vhosts \ goodgirls1 \ core \ database \ db.php в строке 59

Предупреждение: mysqli_real_escape_string () ожидает ровно 2 параметра, 1 указан в 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 () ожидает ровно 2 параметра, 1 указан в C: \ vhosts \ goodgirls1 \ core \ database \ db.php в строке 59

И вот где я сейчас потерян. Что я даю mysqli_real_escape_string сделать это счастливым? Если я укажу неверный отсутствующий параметр, мой массив, похоже, взорвется. Буду признателен за несколько советов о том, как действовать отсюда. Спасибо!

-1

Решение

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) рассмотрите возможность использования подготовленных операторов / переменных связывания

4

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]