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