我正在尝试为我的网站实现全文搜索,我的问题是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=MyISAM
和FULLTEXT
。
答案 0 :(得分:0)
在你的代码中你有这个:
$search_count = $db->query($search_sql);
我认为必须改为:
$search_count = $db->query($sql);
我在过去的MATCH函数中使用了多个列并且运行良好。