如何通过全文搜索允许多列搜索

时间:2016-03-26 15:44:31

标签: php

我正在尝试为我的网站实现全文搜索,我的问题是match()语法不允许使用多个列。有人可以帮忙吗?

这是代码:

//
$sql = "SELECT * FROM tenders 
    INNER JOIN categories ON categories.category_id=tenders.category_id 
    INNER JOIN provinces ON provinces.province_id=tenders.province_id 
    WHERE MATCH (details,category, province) 
        AGAINST('$searchterm' IN NATURAL LANGUAGE MODE)";

$search_count = $db->query($search_sql);

//amount displayed per page
$per_page = 1;
//number of pages
$pages = ceil($search_count->num_rows/$per_page);
在浏览器中,我收到一个错误:

  

注意:尝试获取非对象的属性   第39行的C:\ xampp \ htdocs \ dailytenders \ search.php

我该如何解决这个问题。我已在详细信息,类别和省列中将表格更改为engine=MyISAMFULLTEXT

1 个答案:

答案 0 :(得分:0)

在你的代码中你有这个:

$search_count = $db->query($search_sql);

我认为必须改为:

$search_count = $db->query($sql);

我在过去的MATCH函数中使用了多个列并且运行良好。