新作FPS《VALORANT 特戰英豪》現已上線 開放全球免費遊玩   鍊金工房系列最新作《萊莎的鍊金工房2 ~失落的傳說與秘密妖精~》發表!   預定在線上舉行的「EVO Online」將會取消   UNIQLO×超級瑪利歐35週年紀念T-shirt來了!   「樂高®超級瑪利歐」預計將於8月1日發售!各地LEGO零售店預約開跑   Demon’s Souls –PS5版遊戲畫面首次公開!   「FINAL FANTASY VII REMAKE」現實尋寶活動的謎題 手機上限定公開!   TGS2020 Online《尼爾》系列作新情報節目放送決定! 

MySQL 使用 Like 語法 與 使用者操作 的 注意事項

這篇文章的標題真的蠻難想的, 主要是解決關於使用者操作, 與程式懶得處理的蠢問題.

問題

問題發生是這樣, 有一個欄位 Title, 在前端看到 Title 資訊, 要進後端修改, 在後端做 Search 找那筆資料, 下面是使用狀況:

  1. 使用者輸入的資料是 “今天天氣真好”, 那 MySQL Search 條件是用 ‘LIKE “%今天天氣真好%”‘ – 正確找到資料.
  2. 使用者輸入的資料是 “今天天氣真好 溫度20度”, 那 MySQL Search 條件是用 ‘LIKE “%今天天氣真好 溫度20度%”‘ – 正確找到資料.
  3. 使用者輸入的資料是 “今天天氣真好  溫度20度”(真好 和 溫度 中間有兩個空白), 那 MySQL Search 條件是用 ‘LIKE “%今天天氣真好 溫度20度%”‘ – 找不到資料.

前面兩個都是正常狀況, 最後面那個例外狀況, 發生的原因是因為輸入的資料多一個空白, 但是在 HTML 裡面, “多個空白” 顯示出來都會是 “一個空白”, 使用者在搜尋時, 會習慣把 Title 那個字串複製後, 整個丟進去搜尋, 自然就會找不到那筆資料(因為少一個空白).

解法

Source

相關文章