繁体   English   中英

mysqli_real_escape_string在函数内部返回空

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM