试图在搜索结果php上获取非对象的属性

试图在搜索结果php上获取非对象的属性,php,mysqli,Php,Mysqli,SQL查询: $sql=$db->query("SELECT *, MATCH(keywrd) AGAINST('%$keyword%')+1 as score FROM `web_information` ORDER by score DESC"); php代码: <?php if(isset($sql) && count($sql) && ($sql->num_rows)) : ?> 我收到错误“注意:试图获取上述行上非对象的

SQL查询:

$sql=$db->query("SELECT *, MATCH(keywrd) AGAINST('%$keyword%')+1 as score FROM `web_information` ORDER by score DESC");
php代码:

<?php if(isset($sql) && count($sql) && ($sql->num_rows)) :  ?>


我收到错误“注意:试图获取上述行上非对象的属性”

一旦您在要匹配的一列或多列上有了
全文
索引,您可以在
中使用
match…对抗
,如

SELECT * FROM table_name WHERE MATCH (columns) AGAINST (keywords)
但是如果列没有与列列表匹配的
FULLTEXT
索引,则会出现错误“找不到与列列表匹配的全文索引”。您可以使用将
全文
索引添加到列中

ALTER TABLE table_name ADD FULLTEXT search (column1, column2);

错误本身表明,列列表需要与
全文
索引匹配:

$sql
可能是
错误
,因为查询出错。什么是
echo$db->error显示?嗨@Barmar。它告诉我“找不到与列列表匹配的全文索引”,那么问题应该是显而易见的。如果尚未在列上创建全文索引,则无法在列中进行全文搜索。请尝试打印$sql对象中包含的内容。