我在我网站的搜索栏中使用全文。代码看起来像这样,
的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”,则会显示此结果。知道为什么不是所有单词都会触发结果?