我正在尝试显示表格中列的计数值。
我的表名为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)'] ." Views</div>";
} ?>
此刻没有任何回应,我不知道我哪里出错了,我刚接触到mysql,我只是在学习数,有人可以告诉我哪里出错了。 感谢
答案 0 :(得分: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']
答案 1 :(得分:0)
如果$query
返回false,则应该检查SELECT COUNT(id), read_forum FROM ptb_forum
WHERE ptb_forum.read_forum=ptb_forum.from_user_id
AND ptb_forum.deleted=0
。如果是这样,SQL中就会出错。
也许select语句应该是:
{{1}}
如果ptb_forum.deleted是一个数字而不是一个字符串
答案 2 :(得分:0)
使用$newf['read_forum']
代替$newf ['count(id)']
我认为查询中没有使用计数(Id)