需要有关修改mySQL MATCH AGAINST查询的帮助

时间:2011-07-25 18:24:45

标签: php mysql

我有一个简单的jQuery / PHP自动完成文本框,可以从mySQL获取匹配项。在我的情况下,如果数据库中的名称

Brand new iPhone and iPod case

和$ q是

iph

在我写完整个匹配单词之前,文本框不会弹出上面的产品名称供我选择。

使用通配符我得到了我预期的结果,但是当$ q是

iphone ipod

我不会得到上面的产品名称。

$q = $_GET["q"];
WHERE name LIKE '%$q%'

我现在所拥有的是以下内容,我的问题是,在写完整个单词之前是否有办法获得结果并支持iphone ipod问题。

$q = $_GET["q"];
$words = explode(" ", $q);
$all = mysql_real_escape_string(implode(" +",$words));
WHERE MATCH (name) AGAINST ('+" . $all . "' IN BOOLEAN MODE)

1 个答案:

答案 0 :(得分:0)

$all = mysql_real_escape_string(implode("* +",$words));


WHERE MATCH (name) AGAINST ('+" . $all . "*' IN BOOLEAN MODE)