我试图与PHP的搜索表单,使用下面的查询:SQL PHP搜索要求至少一个词
$this->images('`description`="'.db::escape($mysearch).'"');
它的工作很好,但它仅返回对应于$确切的描述mysearch! 我希望它从$ mysearch字段返回包含关键字(1,2或3)的所有描述。 什么是确切的SQL查询?我试着用:
'MATCH `description` AGAINST "'.db::escape($mysearch).'"'
但我得到一个错误回来:
您的SQL语法错误;检查手册中 对应于你的MySQL服务器版本正确的语法使用 附近“MATCH
title
反对‘mykeyword’”在行1
的解决方案是:
'MATCH(title) AGAINST ("'.db::escape($keyword).'" IN BOOLEAN MODE)'
你是什么意思“但那不行”?你有错误信息吗?你只是得到一个空的结果集?它有助于了解您使用的SQL的风格,因为全文搜索功能对于每个数据库供应商都非常独特。一些关于mysql全文的提示可以在这里找到:http://stackoverflow.com/questions/1125678/mysql-fulltext-not-working http://stackoverflow.com/questions/3439416/fulltext-search-in-mysql-does -not-return-any-rows – 2012-04-25 17:32:46
我正在使用MySQL,当我使用'MATCH'时返回的错误是: 您的SQL语法错误; 您可以直接在我的网站上尝试:www.veloccasion.net/look/mykeyword/ – PhilMarc 2012-04-25 17:38:56
看起来正确的匹配语法更像是“MATCH(description)AGAINST(”.db :: escape($ mysearch)。“) ''http://dev.mysql.com/doc/refman/5.0/en/fulltext-search.html – 2012-04-25 17:44:37