我有一个MySQL数据库,用户可以在其中列出他们读过的书,想读的书等。我正在尝试编写一个查询,以查找用户列出的最常见的书。
我当前的查询是:
$result = mysql_query("SELECT title, COUNT(title) AS counttitle FROM books GROUP BY title ORDER BY counttitle DESC LIMIT 1");
echo "<p>The most popular book listed by members is $result</p>";这似乎(在我看来)是一种合乎逻辑的方法,我看不出语法有什么问题,但我得到的结果是“成员列出的最受欢迎的书是资源id #32”。
有谁知道我哪里出问题了吗?
发布于 2009-11-07 05:15:36
我认为你错过了这一点:
$row = mysql_fetch_assoc($result)$result实际上不是答案,它是包含有答案的行的结果资源。
发布于 2009-11-07 05:17:02
你的查询很好,你需要仔细阅读一下你的PHP。
result = mysql_query("SELECT title, COUNT(title) AS counttitle FROM books GROUP BY title ORDER BY counttitle DESC LIMIT 1");
$row = mysql_fetch_assoc($result);
echo "<p>The most popular book listed by members is " . row['title'] . "</p>";文档:http://us3.php.net/mysql_query
返回值
对于SELECT、SHOW、DESCRIBE、EXPLAIN和其他返回结果集的语句,mysql_query()在成功时返回资源,在错误时返回FALSE。
对于其他类型的SQL语句,如INSERT、UPDATE、DELETE、DROP等,mysql_query()在成功时返回TRUE,在出错时返回FALSE。
返回的结果资源应该传递给mysql_fetch_array()和其他处理结果表的函数,以访问返回的数据。
https://stackoverflow.com/questions/1690488
复制相似问题