real_escape_string()
必須被用於SQL字符串,即包含在引號中查詢的部分。無論以前的操作如何,都必須無條件地使用。 real_escape_string()
考慮到連接的當前字符集,在字符串中使用特殊字符以便在SQL語句中使用。
凡爲
filter_input
通過名稱獲取一個特定的外部變量和任選對其過濾。 filter_input
將爲您提供驗證特定字符串和字符的輸入的方法。
- 驗證過濾
- 消毒過濾
- 其它過濾器
- 篩選標誌
驗證過濾
正如顧名思義它是用於驗證像FILTER_VALIDATE_EMAIL
特定的輸入。
$email = "[email protected]"; // wrong email
if(filter_var($email, FILTER_VALIDATE_EMAIL)){
echo $email.'<br>';
var_dump(filter_var($email, FILTER_VALIDATE_EMAIL));
}else{
var_dump(filter_var($email, FILTER_VALIDATE_EMAIL));
}
消毒過濾 它會使用驗證,並從字符串中刪除字符。
FILTER_SANITIZE_EMAIL "email" Remove all characters except letters, digits and !#$%&'*+-=?^_`{|}[email protected][].
有關filter_value更多信息。
所以我認爲兩者都有不同的角色。
可能重複的[filter \ _input和mysqli \ _real \ _escape \ _string整數](http://stackoverflow.com/questions/9653099/filter-input-and-mysqli-real-escape-string-for-整數) – arcs