我有一個表單,用戶可以搜索表中的所有條目,並且遇到特定條目的問題。將較長的字符串與較短的字符串匹配
我舉一個例子以便更好地理解:
用戶可以檢查5盒:1,2,3,4,5,他會檢查所有的箱子。
如果特定行的值爲'1 | 2 | 3',我的搜索查詢將無法找到它。
事先我在PHP(這是一個數組)中獲得post變量並在每個值前後添加'%'。在這種情況下: '%1%2%3%4%5%'
我的搜索查詢:
SELECT id FROM table WHERE string LIKE '%1%2%3%4%5%'
在這種情況下,也不會找到價值「的行1 | 2 | 3' 。 我想這是正常的,它的工作方式很好,但我想執行匹配原始字符串部分的查詢。以我的'%1%2%3%4%5%'來匹配'1 | 2 | 3'。
我該怎麼做?
提前感謝您抽出時間。
編輯:我可以做到這一點沒有多個AND,或運營商?
只是作爲一個旁註:這聽起來像沒有規範化你的數據庫。你應該真的考慮如此:http://en.wikipedia.org/wiki/Database_normalization – oezi