mysql短语搜索

时间:2012-04-22 15:21:44

标签: php mysql

我有上面的sql代码,当我运行它时返回错误,你能帮我解决一下吗?

php中的

$ keyword = variable sql表是数据(id,source,title,description,h1)                     $ sql =“SELECT *,                       MATCH(title)AGAINST('$ keyword')AS rel1,                       MATCH(来源)AGAINST('$ keyword')AS rel2,                      来自数据                       WHERE MATCH(标题,来源)AGAINST('$ keyword')                        ORDER BY(rel1 * 1.5)+(rel2)                        LIMIT $ offset,$ rec_limit“;

错误 sql你的SQL语法有错误;查看与MySQL服务器版本对应的手册,以便在第4行“FROM data WHERE MATCH(title,source)AGAINST('')'附近使用正确的语法

我的网络服务器了 服务器:通过UNIX套接字的Localhost 服务器版本:5.1.51 mysql php服务器 ngix服务器

1 个答案:

答案 0 :(得分:0)

您添加了一个额外的逗号。试试这个:

SELECT * , MATCH (title) AGAINST ('$keyword') AS rel1, MATCH (source) AGAINST ('$keyword') AS rel2 FROM data WHERE MATCH (title,source) AGAINST ('$keyword') ORDER BY (rel1*1.5)+(rel2) LIMIT $offset, $rec_limit

你也可能需要用匹配替换ORDER BY(rel1 * 1.5)+(rel2),不确定别名也适用于此。