0

mysqli 関数を使用して mysql データベースから投稿情報 (タイトル、コンテンツ、作成者、公開) を読み取る関数を php で作成しようとしています。私は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;

}

私の質問は、1 つの投稿情報だけでなく、すべての情報を提供するにはどうすればよいかということです。

ありがとう

4

2 に答える 2

0

foreach ループでは、すべての readPost() 呼び出しが、戻る前に閉じた新しい mysql 接続を作成します。foreach の前に接続を確立し、選択したデータを配列として繰り返し、最後のループの後に接続を閉じる必要があります。

于 2012-10-19T17:51:55.253 に答える
0

$result->fetch_all() を使用できますここのドキュメントを参照してください

于 2012-10-07T18:21:38.497 に答える