MySQL语法错误;检查与您的MySQL服务器版本相对应的手册,以便在第4行的')'附近使用正确的语法

时间:2010-11-28 08:43:35

标签: mysql

我在下面列出了以下mySQL错误,并想知道如何解决它。

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 4

以下是我的MySQL代码。

$q = "SELECT COUNT(DISTINCT tags.tag) FROM tags INNER JOIN articles_tags ON articles_tags.tag_id = tags.id INNER JOIN users ON articles_tags.user_id = users.user_id WHERE users.active IS NULL AND users.deletion = 0";
$r = mysqli_query ($mysqli, $q) or trigger_error("Query: $q\n<br />MySQL Error: " . mysqli_error($mysqli));
$row = mysqli_fetch_array ($r);
$records = $row[0];

这是我的表格。

CREATE TABLE tags (
id INT UNSIGNED NOT NULL AUTO_INCREMENT,
tag VARCHAR(255) NOT NULL,
PRIMARY KEY (id)
);


CREATE TABLE articles_tags (
id INT UNSIGNED NOT NULL AUTO_INCREMENT,
tag_id INT UNSIGNED NOT NULL,
article_id INT UNSIGNED NOT NULL,
user_id INT UNSIGNED NOT NULL,
date_created DATETIME NOT NULL,
unique_id CHAR(32) NOT NULL,
PRIMARY KEY (id),
UNIQUE KEY (tag_id, unique_id)
);

2 个答案:

答案 0 :(得分:0)

查询似乎没问题...我认为这可能是一个问题因为DISTINCT功能......
试试这个:

$q = "SELECT COUNT(tags.tag) FROM tags INNER JOIN articles_tags ON articles_tags.tag_id = tags.id INNER JOIN users ON articles_tags.user_id = users.user_id WHERE users.active IS NULL AND users.deletion = 0 GROUP BY tags.tag";

答案 1 :(得分:0)

mysql_fetch_array需要2个参数。它是

mysql_fetch_array(result, result_type)

可能的结果类型是MYSQL_ASSOC,MYSQL_NUM和MYSQL_BOTH。

您可能还希望看到可能有帮助的mysql_fetch_assoc函数。