即时通讯使用的为我寻找一个简单的查询:MySQL的LIKE =不精确搜索
SELECT * FROM table WHERE field LIKE '%term%'
,如果我有一个字段=“公司名称123”和我搜索公司123结果为空
如何我能改善这个吗?它只发现如果长期处于序列
即时通讯使用的为我寻找一个简单的查询:MySQL的LIKE =不精确搜索
SELECT * FROM table WHERE field LIKE '%term%'
,如果我有一个字段=“公司名称123”和我搜索公司123结果为空
如何我能改善这个吗?它只发现如果长期处于序列
你需要把%公司与123之间,以便它比赛。您可能想要查看全文搜索功能。
用%替换空间
$newTerm = str_replace(' ', '%', $term);
$sql = "SELECT * FROM table WHERE field LIKE '%$term%'"
$r = mysql_qery($sql, $conn);
这里不是问题,你应该首先阅读这个问题(但你是r ight,问题中的代码将不起作用,但我确信这只是一个错字)。 **编辑:** brain_damage更正了问题 – oezi 2010-11-22 14:52:29
尝试更换空间
$searchtext =str_replace(' ','%',$searchtext);
你可以:
你应该在MySQL HTTP阅读全文搜索:/ /dev.mysql.com/doc/refman/5.1/en/fulltext-search.html – 2010-11-22 14:54:06