FULLTEXT没有返回一些搜索过的单词

时间:2013-08-29 19:18:36

标签: php mysql full-text-search

我在我网站的搜索栏中使用全文。代码看起来像这样,

的search.php

<form method="post" action="search.php">
<input type="text" name="search" />
<input type="submit" />
</form>
<?php
include("config.php");
$search = mysql_real_escape_string($_POST['search']);
echo $search;
$data = mysql_query("SELECT * FROM shop
    WHERE MATCH (name,description,keywords) AGAINST ('$search' IN BOOLEAN MODE);") or die(mysql_error());
while ($info = mysql_fetch_assoc($data)) {
    $name = stripslashes($info['name']);
    $desc = stripslashes($info['description']);
    Print "<h3><a href=\"result.php?product=".urlencode($name)."\">".$name."</a>: <font color=\"#cd0000\">".$desc."</font></h3><br>";
}
?>

这在大多数情况下完全没问题。在我的数据库中,description列下的其中一行显示为:“1。永远不要以root身份运行mysqld”

当我在搜索栏中搜索“从不”或“从不运行”时(显然没有引号)此结果不会显示。但是,如果我搜索“从不运行mysqld”或只搜索“mysqld”,则会显示此结果。知道为什么不是所有单词都会触发结果?