簡體   English   中英

如何使函數讀取數據庫,獲取約10個帖子(每個帖子4列)並返回所有數據?

[英]How can I make a function read a database, grab ~10 posts (4 columns to each post) and return all the data?

我正在嘗試在php中編寫一個函數,以使用mysqli函數從mysql數據庫讀取帖子信息(標題,內容,作者,已發布)。 我對所有事物都相當陌生,包括mysqli,但是我已經盡了最大的努力,此刻已經做到了:

foreach(readPosts($pageid) as $posts)
        echo $posts;

這只是顯示第一篇文章。 該功能如下

function readPosts($pageid) {
$mysqli = new mysqli(DB_HOST, DB_USER, DB_PASS, DB_NAME);
if (mysqli_connect_errno()) {
    return false;
}
$pageid = preg_replace("/[^0-9]/","",$pageid);
if ($result = $mysqli->query("SELECT * FROM posts WHERE pageID = '$pageid'")) {
    while($row = $result->fetch_array()) {
        $time1 = date('H:i \o\n jS M Y', $row['publishedtime']);
        $postarray[$i++] = $row['title'];
        $postarray[$i++] = $row['content'];
        $postarray[$i++] = $row['author'];
        $postarray[$i++] = $time1;
    }
    $result->close();
}
mysqli_close($mysqli);
return $postarray;

}

所以我的問題是,如何使它給我所有信息,而不僅僅是一個帖子信息。

謝謝

您可以使用$ result-> fetch_all()在此處查看文檔

在foreach循環中,每個readPost()調用都會建立一個新的mysql連接,該連接在返回之前關閉。 您應該在進行foreach操作之前先建立連接,然后像數組中那樣遍歷所選數據,並可能在最后一個循環之后關閉連接。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM