0

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

$keyword= php 中的变量 sql 表是 data(id,source,title,description,h1) $sql = "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 ";

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

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

4

1 回答 1

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) 替换为匹配项,不确定别名在这里是否也有效。

于 2012-04-22T15:27:02.157 回答