Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Mengelakkan Tatasusunan Kosong Apabila Mengambil Baris MySQL Menggunakan `mysqli_fetch_row()`?
Mengambil Baris daripada Objek Hasil MySQL Menggunakan mysqli
Untuk mendapatkan semua baris daripada objek hasil mysqli dan membina tatasusunan baharu untuk menyimpannya, kaedah fetch_row() boleh digunakan. Walau bagaimanapun, adalah penting untuk menangani ralat sintaks yang boleh menyebabkan tatasusunan kosong dikembalikan dan bukannya baris yang dijangkakan.
Masalah:
Dalam coretan kod yang disediakan, terdapat koma bertitik yang salah pada penghujung penyataan gelung sementara:
while($row = $result->fetch_row());
Koma bernoktah ini menamatkan gelung while lebih awal, menyebabkan tiada pelaksanaan kod dalam gelung.
Penyelesaian:
Untuk membetulkan isu ini, cuma alih keluar koma bertitik untuk membenarkan yang betul pelaksanaan gelung:
while($row = $result->fetch_row()) { $rows[] = $row; }
Ralat Pelaporan:
Selain itu, adalah dinasihatkan untuk meminta MySQLi melaporkan sebarang isu yang dihadapi:
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT); $sql = new mysqli($config['host'], $config['user'], $config['pass'], $config['db_name']); $query = "SELECT domain FROM services"; $result = $sql->query($query); $rows = []; while($row = $result->fetch_row()) { $rows[] = $row; } return $rows;
Dengan mematuhi cadangan ini, anda sepatutnya berjaya mendapatkan dan menyimpan semua baris daripada objek hasil dalam tatasusunan $rows.
Atas ialah kandungan terperinci Bagaimana untuk Mengelakkan Tatasusunan Kosong Apabila Mengambil Baris MySQL Menggunakan `mysqli_fetch_row()`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!