0

I'm creating a small private forum to get some more knowledge about PHP/PDO etc. Now I have a weird bug/error/wrong piece of code that is not showing the echo. This is my code.

$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>';
    }
}

It should show the echo at while($row = $sql2->fetch()), but it is not. Also I know there is not enough { and } but that's because the other part of the code is not relevant.

4

1 回答 1

0

您似乎在计算$sqlthen 循环返回的行数$sql2。你有没有检查是否有任何结果$sql2

于 2013-07-17T21:35:28.157 回答