轉義 MySQL 可轉義字符
MySQL 包含一組被視為通配符的字符,能夠匹配多個輸入。這些字元包括 %(百分比)和 _(底線)。雖然 mysql_real_escape_string() 旨在處理大多數字元的轉義以包含在 SQL 查詢中,但它並沒有解決這些通配符。
為了完全轉義用戶輸入並防止這些字符被解釋為元字符,建議將 mysql_real_escape_string() 函數與 addcslashes() 函數結合使用。
但是,當轉義字元以包含在 LIKE 語句中,必須採取不同的方法。在 LIKE 語句中,_ 和 % 不被視為通配符,而是文字字元。若要按字面匹配這些字符,必須使用 ESCAPE 子句對它們進行轉義。
例如,要符合字面百分號,LIKE 語句應使用下列語法:
註使用反斜線() 作為LIKE 轉義字元和SQL 字串文字的轉義字符。這允許在 LIKE 語句中按字面解釋百分號 (%)。
使用 PHP 準備好的語句時,會自動處理轉義,而無需手動轉義。但是,如果準備好的語句不可用,則 mysql_real_escape_string() 和 addcslashes() 的組合可以有效保護使用者輸入免受潛在的 SQL 注入攻擊。
以上是如何在查詢和LIKE語句中正確轉義MySQL通配符?的詳細內容。更多資訊請關注PHP中文網其他相關文章!