我试图从我的MYSQL数据库中打印出所有记录,但这只是使第一个记录令人失望。

 <?php


    class database {
        private $objDbConn;

        function __construct($db_login_info){
            $this->objDbConn = new mysqli($db_login_info['host'], $db_login_info['username'],
                                        $db_login_info['password'], $db_login_info['database']);

             if (mysqli_connect_errno()) {
                        die("Database connection failed". mysqli_connect_error());
                }
        }

        function getBlogPosts(){
            $objRes = mysqli_query($this->objDbConn, "SELECT * FROM blog_posts");
             if(mysqli_errno($this->objDbConn)) {
                die("Failed query: $strSql". $this->objDbConn->error);
             }
             while ($row = mysqli_fetch_array($objRes)) {
                return $row['title']."<br>";
             };





        }
    }

     ?>


该查询在PHPmyadmin中工作正常,如下所示:

最佳答案

因为您使用return,所以它仅使用第一行的字符串退出该函数。在while循环中将文本附加到变量,然后在while循环之后返回该变量。

$allrows="";
while ($row = mysqli_fetch_array($objRes)) {
    $allrows.=$row['title']."<br>\n";
};
return $allrows;

09-11 19:45