Php mysqli_real_escape_字符串在函数内部返回空
我做了一个函数,它必须过滤传递到Php mysqli_real_escape_字符串在函数内部返回空,php,mysqli,Php,Mysqli,我做了一个函数,它必须过滤传递到$\u GET变量中的数据。它最近起了作用,但我开始与mysqli合作,现在不再是了。每次通过PHP函数回显我的$data时,结果是mysqli\u real\u escape\u字符串导致变量$data返回空。但我在这里做错了什么 我的函数应该过滤$\u GET变量,但是mysqli\u real\u escape\u字符串返回一个空变量。 function filter($data) { global $link;
$\u GET
变量中的数据。它最近起了作用,但我开始与mysqli合作,现在不再是了。每次通过PHP函数回显我的$data
时,结果是mysqli\u real\u escape\u字符串
导致变量$data
返回空。但我在这里做错了什么
我的函数应该过滤$\u GET
变量,但是mysqli\u real\u escape\u字符串
返回一个空变量。
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;
}
一个循环,用于运行所有$\u通过过滤器获取变量
foreach($_GET as $key => $value) {
$get[$key] = filter($value);
}
与数据库的连接(连接不起作用):($link
)
修改函数以包含$link
,并根据需要通过引用传递它:
function filter($data, &$link) {
$data = trim(htmlentities(strip_tags($data)));
if (get_magic_quotes_gpc())
$data = stripslashes($data);
$data = mysqli_real_escape_string($link, $data);
return $data;
}
$link
在函数中不可用,因为我正在使用全局$link代码>但仍然不工作。还尝试了$GLOBALS['link']代码>但是说索引链接是未知的…为什么在这里使用globals
?你喜欢什么?请解释一下这种方法。正如我所解释的,mysqli\u real\u escape\u string
返回一个空变量。我以前使用过mysql\u real\u…
,并添加了$link
变量。如果函数不是全局函数,我不能在函数中使用$link。
function filter($data, &$link) {
$data = trim(htmlentities(strip_tags($data)));
if (get_magic_quotes_gpc())
$data = stripslashes($data);
$data = mysqli_real_escape_string($link, $data);
return $data;
}