2015-08-18 18 views
-1

我需要在MySQL數據庫的表中搜索字段以獲取多個版本的字符串。例如,用戶可能會搜索名稱爲「Strings & Things」的商店名稱,但可能會使用「Strings and Things」進行搜索。此外,查詢還會搜索可能將名稱存儲爲「Strings & Things」的說明字段。骯髒的解決方案是測試在搜索中是否存在「&」或「and」,然後向sql語句添加額外的OR語句,但不管在查詢中是否存在「&」或「and」都需要三個或者說,因爲我在兩個領域搜索,六個)查找「字符串和事物」,「字符串&事物」和「字符串&事物」。有沒有一種簡單的方法將這個結合成一個搜索詞,或者,如果可能的話,在事情的sql方面做一些更重的提升。爲了記錄,我使用PHP。完整的代碼是沒有必要的。僞代碼或解釋此主題的資源是可以接受的。在MySQL數據庫中使用PHP在多個版本的字符串中搜索字段

回答

1

使用BOOLEAN MODE

SELECT * FROM test WHERE MATCH (column1,column2) 
    AGAINST ('+value1 +value2 +value3' IN BOOLEAN MODE); 
+0

這正是我需要的。我不能相信我之前沒有意識到這一點。謝謝。 –

相關問題