試圖尋找我的問題的答案。如果有人問過類似的問題,請將我指向該頁面。MYSQL/PHP:選擇一部分的字或完全匹配
我有一個表單,用戶在一個或多個文本字段中鍵入搜索詞。
然後傳遞到SQL statment:
WHERE st.Description LIKE '%$Description%'
AND st.Number LIKE '%$Number%'
AND st.Color LIKE '%$Color%'
這將返回任何匹配該單詞包含用戶輸入。
有什麼辦法,如果用戶使用引號(如「搜索詞」),它會搜索完全匹配?
什麼是最佳實踐?
你可以在查詢本身處理這個邏輯,或者更好地處理它在PHP代碼中。如果搜索字符串包含引號,則使用不帶'''通配符'的不同'LIKE'表達式。 –
你的意思是循環輸入文件並使用if語句,如果它包含引號?如果是的話,把表達式到php變量? – Tronik
我的意思是檢查您的PHP代碼中的輸入,並適當地處理引號。基本上,如果引號含有'LIKE'搜索字符串'',而'LIKE'%搜索字符串%''不含引號。 –