我正在尝试从mysql数据库获取post数据但是循环永远在运行为什么?

fcg9iug3  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(276)

我正在尝试从mysql数据库获取post数据。我使用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();
}

注意:数据库连接已在数据类中建立。
谢谢你的帮助。

uqcuzwp8

uqcuzwp81#

当你打电话的时候 fetch_table 连接到数据库,进行查询,然后返回第一个结果。
你的while循环一直运行,直到没有结果为止……这永远不会发生,因为你总是从一个新的连接开始,给它第一个结果。
您需要连接到数据库一次,进行查询一次,然后只重复调用 fetch_assoc 直到排满为止。

相关问题