Я создал функцию, которая должна фильтровать данные, переходящие в переменную $_GET
. Недавно он работал, но я начал работать с mysqli, и теперь его больше нет. Повторяя мой $data
каждый раз, когда он проходил через функцию PHP, результат дал mysqli_real_escape_string
, вызывающий переменную $data
, чтобы вернуть пустой. Но что я делаю неправильно здесь.mysqli_real_escape_string возвращает пустую внутреннюю функцию
Моя функция, которая должна фильтровать $_GET
переменные, но mysqli_real_escape_string
возвращает пустую переменную ..
function filter($data) {
global $link;
$data = trim(htmlentities(strip_tags($data)));
if (get_magic_quotes_gpc())
$data = stripslashes($data);
$data = mysqli_real_escape_string($link, $data);
return $data;
}
Петля для того, чтобы запустить все $_GET
переменные корыта фильтра.
foreach($_GET as $key => $value) {
$get[$key] = filter($value);
}
соединение с базой данных (соединение работает): ($link
)
$link=mysqli_connect(DB_HOST,DB_USER,DB_PASS,DB_NAME);
'$ link' недоступен внутри функции из-за [scope scope в PHP] (http://php.net/manual/en/language.variables.scope.php) – kero
Я использую' global $ link; 'и STI я не буду работать. Также попробовал '$ GLOBALS ['link'];' но говорит, что индексная ссылка не указана ... –
Какую причину использует 'globals' здесь? Чем вы следуете? Пожалуйста, объясните этот подход. – voodoo417