全文搜索方法没有用

时间:2014-05-12 09:12:04

标签: php mysql search full-text-search

我尝试使用全文功能在我的PHP脚本中构建搜索引擎,但它没有得到任何结果。 我做的步骤: 我将2个文件修改为全文

ALTER TABLE stack_ask ADD FULLTEXT(q_title,q_body)

然后我添加了一些数据

INSERT INTO articles (q_title,q_body) VALUES('MySQL Tutorial','DBMS stands for DataBase ...');

然后我做了一个变量来接收来自输入的帖子数据

$q_title=$db->real_escape_string($_POST['search_word']);

然后查询:

SELECT * FROM stack_ask WHERE MATCH (q_title,q_body) AGAINST ('$q_title');

当我尝试搜索类似数据库的内容时,它没有给出任何结果并输出以下错误:

call to amember function fetch_assoc on a non-object

问题是什么?

2 个答案:

答案 0 :(得分:0)

嗨Mohamed amin,

  

确保q_title,q_body有索引编制。阅读这篇文章   它可能会对你有用。

http://dev.mysql.com/doc/refman/5.0/en/fulltext-natural-language.html

答案 1 :(得分:0)

经过多次试验,我通过以下方式解决了问题: 1-i使用以下sql检查了2列的索引类型:

show index from stack_ask

他们是全文

2-i检查了表格类型,即MYISAM

2 - 正确的sql查询应如下所示:

SELECT *, MATCH(q_title,q_body) AGAINST ('$q_title') FROM stack_ask ORDER BY id DESC

"SELECT id, MATCH(q_title,q_body) AGAINST ('$q_title') FROM stack_ask ORDER BY id DESC