PHP PDO:从数据库返回结果

PHP PDO: Returning Results From The DB

我正在使用 PHP PDO 制作一个简单的电影存储,根据 MySQL table.

显示电影名称和一些相关信息

这是我的代码:

$query = $handler->query('SELECT * FROM films');
if($query->rowCount()){
    while($r = $query->fetch(PDO::FETCH_OBJ)){
        echo '<td>', $r->id, '</td>';
        echo '<td>', $r->name, '</td>';
        echo '<td>', $r->year, '</td>';
        echo '<td>', $r->actor, '</td>';
        echo '<td>', $r->director, '</td>';
        echo '<td>', $r->imdb, '</td>';
        echo '<td>', $r->watched, '</td>';
        echo '<td>', $r->starred, '</td>';
    }
}else{
    echo '<td>No Results!</td>';    
}

现在,当我有多个记录时,它不会转到 table 的下一行,而只是将其添加到第一行:

那么这里出了什么问题?我怎样才能正确地转到 table 的下一行以便正确显示 table 记录?

如果您对此有任何想法或建议,我将不胜感激...

提前致谢。

这是因为,每次迭代都需要一个单独的<tr>

请将代码更正为:

$query = $handler->query('SELECT * FROM films');
if($query->rowCount()){
    while($r = $query->fetch(PDO::FETCH_OBJ)){
        echo '<tr>';
        echo '<td>', $r->id, '</td>';
        echo '<td>', $r->name, '</td>';
        echo '<td>', $r->year, '</td>';
        echo '<td>', $r->actor, '</td>';
        echo '<td>', $r->director, '</td>';
        echo '<td>', $r->imdb, '</td>';
        echo '<td>', $r->watched, '</td>';
        echo '<td>', $r->starred, '</td>';
        echo '</tr>';
    }
}else{
    echo '<tr><td colspan="8">No Results!</td></tr>';
}

这将确保每条记录都在 <tr> 上,其中所有数据将在 <td> 秒内显示。