我有这个疑问:MySQL的查询和文本搜索
select name, body
from news
where body like %MyWord%;
我使用MySQL数据库引擎。这个查询将返回名称,身体当发现正文中的MyWord。
这里我的问题是,当我搜索正文中的两个单词时,如MyWord1,MyWord2。或者更多 !!!
如果你知道这个查询是按函数调用的(我不能随时修改那个查询),我该怎么做。
我有这个疑问:MySQL的查询和文本搜索
select name, body
from news
where body like %MyWord%;
我使用MySQL数据库引擎。这个查询将返回名称,身体当发现正文中的MyWord。
这里我的问题是,当我搜索正文中的两个单词时,如MyWord1,MyWord2。或者更多 !!!
如果你知道这个查询是按函数调用的(我不能随时修改那个查询),我该怎么做。
如果您需要更多的文本搜索模式功能,您应该在MySQL中使用FULL-TEXT-SEARCH,并使用正确的索引。
如果这是您所需要的,您将能够同时搜索两个或更多的单词。
你可以使用一些邪恶的SQL注入(种):)
我假设你通过“myWord”的包含您不能(“不能”或“不要”的查询功能不喜欢“??)改变。会发生什么,如果在“myWord”看起来是这样的:
MyWord1% OR body like %MyWord2
邪恶的,我知道,你已经被警告;)
如果你想找到两个不同的词,你可以做到这一点:
select name, body
from news
where body like %MyWord1% and body like %MyWord2%;
但是,很快就会变得非常不高性能,还有一些其他的选项,你可以看看:
这不好在我的情况。 ,因为这个查询只是被调用,我不知道他/她是否喜欢搜索2,3,4或更多的单词。 – 2010-02-28 11:20:57