0
我的查询是如此配制:空间在MySQL搜索
$sql = "SELECT name, id FROM table WHERE MATCH (name) AGAINST ('".$query."*' IN BOOLEAN MODE) LIMIT 0,10";
因此搜索tom
检索:
Tom Anderson | 1
Tom Bennet | 2
Tom Cane | 3
但是,如果我搜索tom anderson
查询编译为:
...MATCH (name) AGAINST ('tom anderson*' IN BOOLEAN MODE)...
它返回相同的结果集(我只想要第一个)。我应该如何改变我的查询?
我现在不能测试,但是'AGAINST(''tom anderson *''BOOLEAN MODE)'(注意引号)应该这样做,''AGAINST('+ tom + anderson%'BOOLEAN模式)'' (尽管这也会发现“安德森汤姆”)。 – 2011-03-25 21:57:56
我把'*'放在'''之外'是否有一个首选项? – Nanne 2011-03-25 21:59:29
谢谢,这很好。转换为答案,我可以接受。 – fredley 2011-03-25 22:02:01