Я пытаюсь mysqli избежать функции массива mysqli_real_escape_string.Но это не сработает, потому что ожидает строку.Поэтому я использую это:
$items = array_map('mysqli_real_escape_string', $link, $_POST['items']);
, где $ link - это соединение с моей базой данных, а $ _POST ['items'] - это массив.Но я получаю эту ошибку:
Warning: array_map(): Argument #2 should be an array
Поэтому я изменил ее на:
$items = array_map('mysqli_real_escape_string', $_POST['items']);
, где второй аргумент является массивом, а затем я получаю это сообщение:
Warning: mysqli_real_escape_string() expects exactly 2 parameters, 1 given
Так что я снова изменил его на:
$items = array_map('mysqli_real_escape_string', $_POST['items'], $link);
но теперь я получил это:
Warning: array_map(): Argument #3 should be an array
После некоторых исследований я попробовал следующие коды:
$items = array_map('mysqli_real_escape_string', $_POST['items'] [,$link]);
$items = array_map('mysqli_real_escape_string($link)', $_POST['items']);
но ничего не получалось.
Любая помощь ценится.Спасибо.
РЕДАКТИРОВАТЬ: я пробовал это:
function escape_array($array){
global $link;
mysqli_real_escape_string($link, $array);
return;
}
$items = array_map('escape_array', $_POST['items']);
echo $items;
, который должен вызвать mysqli_real_escape_string с подключением, но вместо этого я получаю эту ошибку:
( ! ) Notice: Array to string conversion in D:\wamp64\www\sellerpanel\test.php on line 21
Call Stack
# Time Memory Function Location
1 0.0007 370968 {main}( ) ...\test.php:0
Array