我试图从mysql数据库中获取post数据。但循环正在运行。为什么?

时间:2018-06-06 14:30:22

标签: php mysql

我正在尝试从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>

这是数据类代码:

class Data {

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();
}

注意:数据库连接已在数据类中建立。

感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

当您致电static void A_shaped(int[] Tab)时,您将连接到数据库,进行查询并返回第一个结果。

你的while循环一直持续到它没有得到结果......这永远不会发生,因为你总是从新连接开始并给它第一个结果。

您需要连接数据库一次,查询一次,然后重复调用 a_shaped直到您用完了。