我尝试使用全文功能在我的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
问题是什么?
答案 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