0

私はphpが初めてで、独自のブログシステムを構築しようとしています。これまでのところ、1 つの問題を除いてすべて正常に動作しています。

各ブログ投稿のコメント数を表示するようにしています。しかし、それはうまくいかず、理由がわかりません。

コードは次のとおりです。

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>

これはただの切り抜きです。他のすべては正常に動作します。問題は、while ループ内のクエリが機能しないことです。誰でも助けることができますか?

前もって感謝します。

アンディ

4

1 に答える 1

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;
于 2013-10-25T15:51:26.763 に答える