php中的while循环中的SQL查询

时间:2013-10-25 15:40:26

标签: php html mysql

我是php的新手,我尝试构建自己的博客系统。到目前为止,除了一个问题外,一切正常。

我尝试显示每篇博文的评论数量。但它不起作用,我无法弄清楚原因。

以下是代码:

include('db URL');

$query = $db->prepare("SELECT post_id, ... cat_name, cat_id FROM posts ORDER BY nse_p_id DESC");
$query->execute();
$query->bind_result($post_id, $cat, $cat_id);

现在转到HTML部分

 <div class="media-body span8">
        <?php                   
            while($query->fetch()): 
        ?>

            <div class="blogpostfield">
                <div  class="blogpostinfo">
                    Category <?php echo "<a href='sort.php?cat_id=$cat_id'><b>".$cat."</b></a>"?>
                    with <?php 
                        $comCount = $db->query("SELECT * FROM comment WHERE com_post_id = '$post_id'");
                        if($comCount){
                            echo $comCount;
                        }else{
                            echo "ERROR - count unsuccessful";
                        }

                        ?> 
                    comments

                </div>
            </div>      
        <?php endwhile?>
</div>

这只是一个剪辑。 Everthing其他工作正常。 问题是imo,while循环中的查询不起作用。有人可以帮忙吗?

提前致谢。

安迪

1 个答案:

答案 0 :(得分:0)

我想你想要结果中的行数。

$result = $db->query("SELECT * FROM comment WHERE com_post_id = '$post_id'");
$comCount = $result->num_rows;

您也可以只计算查询中的行数:

$result = $db->query("SELECT COUNT(*) FROM comment WHERE com_post_id = '$post_id'");
$comCount = $result->fetch_field;