我需要从更长的字符串搜索。在SQL中地区是'伦敦',我需要使用LIKE和更多城市的字符串如何在示例中.. 这不工作。 请帮帮我,谢谢从字符串SQL LIKE部分匹配
$result = mysqli_query($con, "SELECT * FROM automoto WHERE (title LIKE '%$keyword%') AND locality LIKE '%London%Paris%' ");
我需要从更长的字符串搜索。在SQL中地区是'伦敦',我需要使用LIKE和更多城市的字符串如何在示例中.. 这不工作。 请帮帮我,谢谢从字符串SQL LIKE部分匹配
$result = mysqli_query($con, "SELECT * FROM automoto WHERE (title LIKE '%$keyword%') AND locality LIKE '%London%Paris%' ");
最可靠的方法是使用一个OR
每个城市:
(title LIKE '%$keyword%') AND (locality LIKE '%London%' OR locality LIKE '%Paris%')
如果你不想建立所有这些“或”条件,你可以使用正则表达式来匹配:
(title LIKE '%$keyword%') AND locality REGEXP '(London|Paris)'
已经读过REGEXP搜索可以占用任意时间和内存空间。如果确实如此,尽管它的优雅(&易读性),前者可能是首选。 – icarus74
建立了包含每一个城市在一个或字符串:
SELECT * FROM automoto WHERE title LIKE '%$keyword%' AND (locality LIKE '%London%' OR locality LIKE '%Paris%')
如何写一串串城市? – user3780933
使用'OR':'(title LIKE'%$ keyword%')AND(locality LIKE'%London%'OR locality LIKE'%Paris%')' – dognose
这是非常标准的练习。你可能会发现你需要在PHP中循环你的单词来组装查询字符串。 –