首頁 > 資料庫 > mysql教程 > 如何在 LIKE 子句中正確轉義 MySQL 通配符?

如何在 LIKE 子句中正確轉義 MySQL 通配符?

Barbara Streisand
發布: 2024-12-02 03:54:09
原創
308 人瀏覽過

How to Properly Escape MySQL Wildcards in LIKE Clauses?

轉義MySQL 通配符

問題

在準備好的語句不可用的舊伺服器上,在將使用者輸入到MySQL 之前轉義用戶輸入至關重要。然而,單獨使用 mysql_real_escape_string 並不能轉義 MySQL 通配符(_ 和 %),且某些模式會傳回意外結果。

例如,當發送輸入「test_test '時,資料庫顯示「test_test '。 「底線是否有反斜線前綴,而單引號和雙引號不?

答案

_ 和% 在MySQL 中不是通配符,插入字串文字時不應轉義mysql_real_escape_string足以達到此目的。在符合表達式中使用時確實需要特殊處理,以確保它們僅符合其文字值,而不是模式。

轉義下劃線、百分號、LIKE表達式中使用的任何轉義字元。

轉義字串中使用的字符,包括LIKE轉義字元。你可以使用雙反斜線轉義,例如,LIKE 'something\%`。 >

為了避免這種混亂並確保可移植性,您可以使用LIKE ... 覆寫預設轉義字元ESCAPE ... 建構。 🎜>

    以上是如何在 LIKE 子句中正確轉義 MySQL 通配符?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

    來源:php.cn
    本網站聲明
    本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
    作者最新文章
    熱門教學
    更多>
    最新下載
    更多>
    網站特效
    網站源碼
    網站素材
    前端模板