2017-06-04 72 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取代麦纳麦 - 阿尔萨尔马尼亚必须奏效。 –