[英]mysqli_real_escape_string returns empty inside function
我做了一个函数,它必须过滤传递到$_GET
变量中的数据 。 它最近工作了,但是我开始使用mysqli,现在不再使用了。 我赞同$data
是通过PHP函数每次去都给结果是mysqli_real_escape_string
导致变量$data
空车返回 。 但是我在这里做错了。
我的函数应该过滤$_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
并通过引用将其传递给您,如果您愿意:
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;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.