0

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

}

所以我的问题是,我如何让它给我所有的信息,而不仅仅是一个帖子信息。

谢谢

4

2 回答 2

0

在 foreach 循环中,您每个 readPost() 调用都会创建一个新的 mysql 连接,该连接在返回之前关闭。您应该必须在 foreach 之前建立连接,像数组一样遍历选定的数据,并且可以在最后一个循环之后关闭连接。

于 2012-10-19T17:51:55.253 回答
0

您可以使用 $result->fetch_all() 在这里查看文档

于 2012-10-07T18:21:38.497 回答