0

我正在尝试从我的表中的列中显示计数值。

我的表名为 ptb_forum,它看起来像这样:

id  |  from_user_id  |  content  |  title  |  read_forum  | deleted

1           3            hello      test           20          0
2           6            bored      hello          40          0

我基本上是想通过使用这个 mysql 代码来获取 read_forum 中的数字(所以 20 或 40 或其他)以在 php 中回显:

function check_new_forum2() {
            global $connection;
            global $_SESSION;
            $query = "SELECT COUNT(id) read_forum FROM ptb_forum WHERE ptb_forum.read_forum=ptb_forum.from_user_id AND ptb_forum.deleted='0' 
        ";
            $check_new_forum_set2 = mysql_query($query, $connection);
            confirm_query($check_new_forum_set2);
            return $check_new_forum_set2;       
        }

并使用此 php 回显结果:

$check_new_forum_set2 = check_new_forum2();
while ($newf = mysql_fetch_array($check_new_forum_set2)) {

    echo "<div class=\"forum_comments\">". $newf['COUNT(id)'] ."&nbsp;Views</div>";
 } ?>

目前没有任何回应,我不知道我哪里出错了,我是 mysql 新手,只是在学习计数,有人可以告诉我我哪里出错了。谢谢

4

3 回答 3

3

因为您之间没有逗号SELECT COUNT(id)read_forum您的 sql 正在执行此操作

SELECT COUNT(id) AS read_forum

因此,如果 read_forum 是一列,则需要使用或执行此操作:$newf['read_forum']

SELECT COUNT(id) AS c, read_forum 

并使用

$newf['c']
于 2013-03-14T01:31:49.563 回答
0

您应该检查$query它是否返回 false。如果是这样,则您的 SQL 中有错误。

也许 select 语句应该是这样的:

SELECT COUNT(id), read_forum FROM ptb_forum
WHERE ptb_forum.read_forum=ptb_forum.from_user_id
AND ptb_forum.deleted=0

如果 ptb_forum.deleted 是数字而不是字符串

于 2013-03-14T01:26:41.213 回答
0

使用$newf['read_forum']而不是$newf ['count(id)']
我认为在查询中没有使用 count(Id)

于 2013-03-14T01:31:45.990 回答