sql >> Databáze >  >> RDS >> Mysql

PHP:proč nemohu dvakrát opakovat výsledky mysqli_fetch_array()?

Z mysqli_fetch_array PHP DOKUMENTY :

Používáte smyčku „while“ na $row = mysqli_fetch_array($newsQuery)

To znamená, že smyčka bude pokračovat, dokud mysqli_fetch_array($newsQuery) vrátí NULL .

To je důvod, proč nemůžete použijte tuto smyčku znovu, protože mysqli dokončilo načítání výsledků a mysqli_fetch_array($newsQuery) nyní vrací NULL dokud nezadáte nový dotaz.

Zkuste nejprve naplnit proměnnou výsledky a poté proměnnou opakujte:

$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. Rekurzivní dotaz MySQL s relačním innoDB

  2. Jak vyřešit ORA-29280:neplatná cesta k adresáři

  3. Převeďte znaky latin1 v tabulce UTF8 na UTF8

  4. Základní správa MaxScale pomocí MaxCtrl pro MariaDB Cluster – část druhá