我正在尝试从MySQL数据库中获取帖子数据。我使用 while 循环从表中获取行。我的 MySQL 数据库中有五行。但它正在获取行,直到我的浏览器崩溃。为什么会这样?如何解决这个问题?
这是主要代码:
<div class="container clearFix">
<?php
while ($result = Data::fetch_table('posts')) {
?>
<div class="post">
<div class="post-title">
<h2><?php echo $result['title'];?></h2>
</div>
<div class="date">
Published on: <?php echo $result['post_date'];?>
</div>
<div class="post-body">
<?php echo $result['body'];?>
</div>
<div class="read-more">
<a href="sh07/post.php?id=<?php echo $result['id'];?>">Read More</a>
</div>
</div>
<?php
}
?>
</div>
这是数据类代码:
类数据 {
public static function fetch_table($table_name) {
// Connection variables
$con = new Database;
$con = $con->connection();
// SQL Queries
$sql = "SELECT * FROM $table_name";
$result = $con->query($sql);
return $result->fetch_assoc();
}
注: 数据库连接已在数据类中建立。
感谢您的任何帮助。
调用fetch_table
时,将连接到数据库,进行查询并返回第一个结果。
您的 while 循环会一直持续下去,直到没有得到结果......这永远不会发生,因为您总是从新连接开始并给出第一个结果。
您需要连接到数据库一次,进行一次查询,然后重复调用仅fetch_assoc
直到用完行。