2016-02-02 85 views

回答

1

real_escape_string()必須被用於SQL字符串,即包含在引號中查詢的部分。無論以前的操作如何,都必須無條件地使用。 real_escape_string()考慮到連接的當前字符集,在字符串中使用特殊字符以便在SQL語句中使用。

凡爲

filter_input通過名稱獲取一個特定的外部變量和任選對其過濾。 filter_input將爲您提供驗證特定字符串和字符的輸入的方法。

  1. 驗證過濾
  2. 消毒過濾
  3. 其它過濾器
  4. 篩選標誌

驗證過濾

正如顧名思義它是用於驗證像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更多信息。

所以我認爲兩者都有不同的角色。

相關問題