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.