MySQL過濾特殊字符的方法有很多種:
1. 使用escape函數進行轉義 $str = "這里是'特殊字符'"; $str = mysql_real_escape_string($str); $sql = "SELECT * FROM table WHERE field='" . $str . "'"; 使用mysql_real_escape_string函數進行轉義主要可以避免sql注入攻擊 2.使用正則表達式 $str = "這里是'特殊字符';"; $sql = 'SELECT * FROM table WHERE field REGEXP "[^a-zA-Z0-9]"'; 使用正則表達式可以過濾所有除字母和數字外的字符 3.使用replace函數進行替換 $str = "這里是'特殊字符';"; $sql = "SELECT REPLACE(field,'''','') as result FROM table WHERE REPLACE(field,'''','')='".$str."'"; REPLACE函數可以替換掉特定字符,從而實現特殊字符的過濾 4.使用htmlspecialchars函數進行html特殊字符的過濾 $str = "這里是<特殊字符>"; $str = htmlspecialchars($str); $sql = "SELECT * FROM table WHERE field='" . $str . "'"; htmlspecialchars函數可以將html特殊字符轉化為實體,避免了xss攻擊