2013-10-25 81 views
0

我是新來的PHP,我嘗試構建自己的博客系統。直到現在,除了一個問題之外,一切正常。PHP中的while循環中的SQL查詢

我嘗試顯示每篇博文的評論數量。但它不會工作,我不明白爲什麼。

下面是代碼:

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其他工作正常。 問題在於,while循環中的查詢不起作用。誰能幫忙?

在此先感謝。

Andy

+1

你呼應的資源,而不是一個字符串。 – aynber

+1

爲什麼不使用直接的SQL計數 – codeGEN

回答

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;