`while`没有在php中显示回声

时间:2013-07-17 21:26:03

标签: php pdo

我正在创建一个小型私人论坛,以获得有关PHP / PDO等的更多知识。现在我有一个奇怪的错误/错误/错误的代码片段没有显示回声。这是我的代码。

$sql2 = $db->prepare('SELECT topic_id, topic_subject,topic_date,topic_cat FROM topics WHERE topic_cat = :topid');
$sql2->bindParam(':topid', $_GET['id'], PDO::PARAM_INT);    
$sql2->execute();
$result2 = $sql->rowCount();    
if($result2 === FALSE){
    echo 'The topics could not be displayed, please try again later.';
}
elseif ($result2 === 0){
    echo 'There are no topics in this category yet.';
} else {
    //prepare the table
    echo '<table border="1">
      <tr>
          <th>Topic</th>
          <th>Created at</th>
      </tr>';   

    while($row = $sql2->fetch()) {              
        echo '<tr>';
        echo '<td class="leftpart">';
        echo '<h3><a href="topic.php?id=' . $row['topic_id'] . '">' . $row['topic_subject'] . '</a><br /><h3>';
        echo '</td>';
        echo '<td class="rightpart">';
        echo date('d-m-Y', strtotime($row['topic_date']));
        echo '</td>';
        echo '</tr>';
    }
}

它应该在echo显示while($row = $sql2->fetch()),但事实并非如此。另外我知道{}不够,但这是因为代码的其他部分不相关。

1 个答案:

答案 0 :(得分:0)

您似乎计算$sql返回的行,然后循环遍历$sql2。您是否检查了$sql2中是否有任何结果?