Mysql
 sql >> Baza danych >  >> RDS >> Mysql

PHP:dlaczego nie mogę zapętlić dwa razy na wynikach mysqli_fetch_array()?

Z mysqli_fetch_array PHP DOCS :

Używasz pętli „while” w $row = mysqli_fetch_array($newsQuery)

Oznacza to, że pętla będzie działać, dopóki mysqli_fetch_array($newsQuery) zwraca NULL .

To jest powód, dla którego nie możesz użyj tej pętli ponownie, ponieważ mysqli zakończył pobieranie wyników i mysqli_fetch_array($newsQuery) teraz zwraca NULL dopóki nie zrobisz nowego zapytania.

Spróbuj najpierw wypełnić zmienną wynikami, a następnie wykonać pętlę na tej zmiennej:

$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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. laravel wyszukuje wiele słów oddzielonych spacją

  2. MYSQL I zapytanie do spełnienia w tej samej kolumnie

  3. Wdróż relacyjne bazy danych MySQL na Ubuntu 12.04 (Precise Pangolin)

  4. Co powoduje błąd PDO Nie można wykonać zapytań, gdy inne niebuforowane zapytania są aktywne?

  5. Naprawianie błędu PHP PEAR