2017-06-04 73 views
-1

我想通過忽略我正在使用MYSQL的特殊字符來搜索數據庫列中的字符串。我有一句話像在表列中搜索數據忽略特殊字符

麥納麥 - Alsalmaniya

和DB我有

麥納麥 - 鋁Salmaniya

我可以搜索這個詞我只想搜索字母匹配。詞總是不同。 我都試過,但它不匹配這種情況下,我的查詢

Select * from mainmwx_deliveryzone_areas where name_en LIKE 'Manama - Alsalmaniya'" 

其返回我發現0行。

+0

您正在使用什麼RDBMS? – BDS

+0

MYSQL通過使用PHP – OBAID

回答

2

您可以像這樣使用它(改爲)

Select * 
from mainmwx_deliveryzone_areas 
where replace(name_en,'-','') LIKE replace('Manama - Alsalmaniya','-','')" 

所以你不需額外考慮 ' - '

+0

不工作給我錯誤 – OBAID

+0

我犯了一個錯誤,寫了'raplace'而不是'替換'在第二個。你能告訴它給你什麼錯誤嗎? – nacho

0
SELECT * FROM mainmwx_deliveryzone_areas WHERE MATCH(name_en) AGAINST('Manama - Alsalmaniya' IN BOOLEAN MODE) 
+0

不起作用給我錯誤 – OBAID

+0

再試一次。我甚至想到錯誤的可能性。但是一個表單輸入說$ name_en = $ _POST ['name_en'];用$ name_en取代麥納麥 - 阿爾薩爾馬尼亞必須奏效。 –