Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

PHP:tại sao tôi không thể lặp lại hai lần trên kết quả mysqli_fetch_array ()?

Từ mysqli_fetch_array của PHP DOCS :

Bạn đang sử dụng vòng lặp 'while' trên $row = mysqli_fetch_array($newsQuery)

Điều này có nghĩa là vòng lặp sẽ tiếp tục cho đến khi mysqli_fetch_array($newsQuery) trả về NULL .

Đây là lý do tại sao bạn không thể sử dụng lại vòng lặp đó, vì mysqli đã hoàn tất việc tìm nạp kết quả và mysqli_fetch_array($newsQuery) bây giờ trả về NULL cho đến khi bạn thực hiện một truy vấn mới.

Trước tiên, hãy thử điền một biến với kết quả, sau đó lặp lại trên biến đó:

$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. Cách xử lý đúng ký tự quốc tế trong PHP / MySQL / Apache

  2. Làm cách nào để chỉ định ràng buộc duy nhất cho nhiều cột trong MySQL?

  3. mysql GROUP_CONCAT DISTINCT nhiều cột

  4. Công cụ tìm từ có hình dạng nguệch ngoạc với các ký tự đại diện

  5. Mối quan hệ lồng nhau với Sequelize