我在我网站的搜索栏中使用全文。代码看起来像这样,
搜索.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>";
}
?>
这完全正常……在大多数情况下。在我的数据库中,描述列下的其中一行显示:“1. Never run mysqld as root”
当我在搜索栏中搜索“从不”或“从不运行”(显然没有引号)时,此结果不会显示。但是,如果我搜索“从不运行 mysqld”或仅搜索“mysqld”,则会显示此结果。知道为什么不是所有的词都会触发结果吗?