mysql中的多字查询

时间:2010-04-06 22:05:41

标签: php mysql

为了让用户更轻松,我想在我的网站上添加多个关键字搜索。 因此,在输入中,用户会执行以下操作:“keyword1 keyword 2”(例如,与google类似)。 我是否需要编写一个解析该字符串的代码并根据该代码进行查询,或者是否存在可以在mysql中构建的内容?

1 个答案:

答案 0 :(得分:2)

实现这一目标的一种简单方法是:

SELECT * FROM table
WHERE column LIKE '%keyword1%'
OR column LIKE '%keyword2%';

但您可能需要查看full text search functions

编辑:哎呀,忘了处理拆分输入字符串。

取决于您使用的语言(PHP?):

要将关键字分开,假设它们用空格分隔:

$keywords = explode(" ", $searchquery);

然后您可以使用循环来创建SQL查询:

$query = "SELECT * FROM table WHERE ";
for($i = 0; $i < count($keywords); $i++)
{
    $query .= "column LIKE '%{$keywords[$i]}%'";
    if($i < count($keywords) - 1) $query .= " OR ";
}