2014-07-16 93 views
1

我需要从更长的字符串搜索。在SQL中地区是'伦敦',我需要使用LIKE和更多城市的字符串如何在示例中.. 这不工作。 请帮帮我,谢谢从字符串SQL LIKE部分匹配

$result = mysqli_query($con, "SELECT * FROM automoto WHERE (title LIKE '%$keyword%') AND locality LIKE '%London%Paris%' "); 
+0

如何写一串串城市? – user3780933

+0

使用'OR':'(title LIKE'%$ keyword%')AND(locality LIKE'%London%'OR locality LIKE'%Paris%')' – dognose

+0

这是非常标准的练习。你可能会发现你需要在PHP中循环你的单词来组装查询字符串。 –

回答

2

最可靠的方法是使用一个OR每个城市:

(title LIKE '%$keyword%') AND (locality LIKE '%London%' OR locality LIKE '%Paris%') 

如果你不想建立所有这些“或”条件,你可以使用正则表达式来匹配:

(title LIKE '%$keyword%') AND locality REGEXP '(London|Paris)' 
+0

已经读过REGEXP搜索可以占用任意时间和内存空间。如果确实如此,尽管它的优雅(&易读性),前者可能是首选。 – icarus74

0

建立了包含每一个城市在一个或字符串:

SELECT * FROM automoto WHERE title LIKE '%$keyword%' AND (locality LIKE '%London%' OR locality LIKE '%Paris%')