我在下面列出了以下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)
);
答案 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函数。