sql >> データベース >  >> RDS >> Mysql

PHP:mysqli_fetch_array()の結果を2回ループできないのはなぜですか?

    PHPのmysqli_fetch_arrayから DOCS

    $row = mysqli_fetch_array($newsQuery)で「while」ループを使用しています

    これは、ループがmysqli_fetch_array($newsQuery)まで続くことを意味します NULLを返します 。

    これがあなたがカントする理由です mysqliが結果とmysqli_fetch_array($newsQuery)のフェッチを終了したため、このループを再度使用します NULLを返すようになりました 新しいクエリを作成するまで。

    最初に結果を変数に入力してから、その変数をループしてみてください:

    $results = array();
    while ($row = mysqli_fetch_array($newsQuery)) {
         $results[] = $row;
    }
    
    foreach ($results as $key => $row) {
        echo "<a href='news-article.php?articleId=" .$row["news_id"]."' class='list-group-item active'>".$row["news_title"]."</a>";
    }
    
    
    foreach ($results as $key => $row) {
        echo $row["news_content"];
    }
    


    1. MySql:IN演算子を使用してステートメントを選択します

    2. 主キーを無視してSQLServerで重複する行を見つける7つの方法

    3. MYSQL選択クエリが0行を返す場合、別の選択クエリ?

    4. MariaDBで特定の文字の前後のすべてを選択します