MYSQL能做下吗?
我的条款 =a b c
我的查询 =SELECT * FROM pages WHERE
内容CONTAINS (a AND b AND c)
我需要在一个页面(搜索者)中使用多个术语进行查询。如果我有一个"1a2b3c"
必须过滤的单元格,如果其他单元格有"1a2b4d9i"
,则第二个单元格不能过滤。
另外,如果可能的话,我想按单词过滤。像"1a2b3c" --> "1 a 2 b 3 c"
, 并且如果它加入的文本不会过滤。
我测试这段代码
$sql = mysql_query("SELECT * FROM pages WHERE "
."(`title` LIKE '%$s%' OR "
."`title` LIKE '%$s' OR "
."`title` LIKE '$s%' OR"
."`content` LIKE '%$s%' OR "
."`content` LIKE '%$s' OR "
."`content` LIKE '$s%') "
."AND `name` != 'inicio' "
."AND `name` != 'contactenos' "
."AND `name` != '404' "
."AND `name` != '403' "
."AND `name` != 'login'");
使用一个值效果很好,但使用 2 个或更多值时它找不到东西。
我也试过(a,b,c)
and a|b|c
with AGAINST
, REGEX
and other 但我无法让它工作。
编辑 1:如果我搜索“foo bar”并且我的 php 代码将其转换为数组,我该如何在 MYSQL 上编写?如果我搜索"foo bar"
并且我的文本"the foo bar is awesome"
和其他文本"the foo is worst"
只打印第一个,我需要。