mysql LIKE =不精确的搜索

时间:2010-11-22 14:47:48

标签: php mysql search sql-like

我正在使用简单的查询进行搜索:

SELECT * FROM table WHERE field LIKE '%term%'

如果我有一个字段=“公司名称123”并且我搜索公司123,则结果为空

我该如何改进?它只能找到该术语是否按顺序

4 个答案:

答案 0 :(得分:2)

用%

替换空格
$newTerm = str_replace(' ', '%', $term);
$sql = "SELECT * FROM table WHERE field LIKE '%$term%'"

$r = mysql_qery($sql, $conn);

答案 1 :(得分:1)

您需要在公司和123之间加一个%才能匹配。您可能想要查看全文搜索功能。

答案 2 :(得分:0)

尝试更换空间
$searchtext =str_replace(' ','%',$searchtext);

答案 3 :(得分:0)

你可以:

  • 将你的搜索项分成单词并用很多AND构建一个查询(或者如果你只是想找到其中一个部分的OR)(丑陋,但我已经看过很多次了)
  • 在你的学期(去的路)中用%(那是一个通配符)替换''(空格)