簡體   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