Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Mengapa loop foreach saya tidak berfungsi seperti yang diharapkan?

mysqli_query() tidak mengembalikan array atau objek array yang dapat Anda gunakan dengan foreach(). Jenis kembalinya mysqli_query() adalah sumber daya. Anda mengambilnya dalam satu lingkaran, seperti solusi kedua Anda.

Lebih mudah menggunakan while() daripada for():

$cast_list = mysqli_query($dblink, $sql);
while ($role = mysqli_fetch_assoc($cast_list)) {
    echo "<tr><td width='50%'>".$role['appeared_as']."</td>";
}

Loop akan berakhir secara otomatis ketika baris yang diambil adalah NULL di akhir set hasil. Anda tidak perlu mengetahui jumlah baris sebelum loop.

Kembali komentar Anda:

Setelah mencari beberapa fakta , saya harus mengakui bahwa jawaban saya di atas tidak sepenuhnya benar. Atau tidak benar untuk beberapa versi PHP.

Di PHP 5.4, sumber daya mysqli_result menambahkan Iterator fungsionalitas, Anda sebenarnya bisa gunakan dalam foreach() . Tetapi host Anda tampaknya menggunakan versi PHP yang lebih lama.

Praktik terbaik adalah mengembangkan versi semua yang sama perangkat lunak yang akan Anda gunakan, sehingga Anda tidak akan terkejut dengan hal semacam ini.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Perbedaan antara $http.get dan metode:'GET'

  2. Bagaimana cara mengurutkan hasil MySQL dengan huruf terlebih dahulu, simbol terakhir?

  3. Pegas, Hibernasi, Blob pemuatan malas

  4. Cara Mengubah Format Datetime di MySQL

  5. Otentikasi untuk aplikasi desktop