sql >> Database teknologi >  >> RDS >> Mysql

PHP:hvorfor kan jeg ikke sløjfe to gange på mysqli_fetch_array() resultater?

Fra PHP's mysqli_fetch_array DOCS :

Du bruger en 'while'-løkke på $row = mysqli_fetch_array($newsQuery)

Dette betyder, at løkken vil fortsætte indtil mysqli_fetch_array($newsQuery) returnerer NULL .

Dette er grunden til, at du ikke kan brug den løkke igen, da mysqli er færdig med at hente resultaterne og mysqli_fetch_array($newsQuery) returnerer nu NULL indtil du laver en ny forespørgsel.

Prøv først at udfylde en variabel med resultaterne, og løkke derefter den variabel:

$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. PostgreSQL returnerer resultatet sat som JSON-array?

  2. Fleksible og håndterbare styklister (BOM) designs

  3. mysqldump virker ikke i cron

  4. FLOOR() Eksempler i SQL Server