match()对()需要4个参数吗?

时间:2011-11-25 02:44:10

标签: mysql search-engine match

你好,我试图建立一个搜索引擎,并使用match()对()匹配我的关键字与用户的关键字..当我指定我的参数为4它没有显示任何错误,但当我有3或2我继续有这个错误:

警告:mysql_fetch_array()期望参数1是资源,布尔值在...中给出

这是我的代码:

if(isset($_POST['submit'])){

$keyword = "'".$_POST["keywords"]."'";


$result = " SELECT *, MATCH(title,body,meta_keywords) AGAINST
($keyword) AS score FROM articles WHERE MATCH(title,body,meta_keywords) AGAINST($keyword) GROUP BY url";

$query = mysql_query($result);

}
while($row = mysql_fetch_array($query)){
    echo $row['title'] . "<br/ >";
}
?>

1 个答案:

答案 0 :(得分:0)

试试这个

SELECT *,count(MATCH(title,body,meta_keywords)AGAINST ($ keyword))AS得分FROM文章WHERE MATCH(title,body,meta_keywords)AGAINST($ keyword IN BOOLEAN MODE)ORDER BY得分GROUP BY url

也许它在sintaxs中有一些错误我没有运行它

您可以在mysql full text search in boolean mode

找到更多信息