Rumah >pembangunan bahagian belakang >tutorial php >Mengapa Pertanyaan MySQLi Saya Hanya Mengembalikan Satu Baris Apabila Saya Menjangkakan Berbilang?

Mengapa Pertanyaan MySQLi Saya Hanya Mengembalikan Satu Baris Apabila Saya Menjangkakan Berbilang?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-06 10:32:11356semak imbas

Why is My MySQLi Query Only Returning One Row When I Expect Multiple?

Mengenalpasti Punca Permintaan MySQLi Mengambil Hanya Satu Baris

Apabila menghadapi isu di mana pertanyaan MySQLi hanya mengembalikan satu baris walaupun mengharapkan berbilang , adalah penting untuk memeriksa kod yang terlibat. Dalam kes yang disediakan, pertanyaan bertujuan untuk mendapatkan semula data daripada jadual sb_buddies dan sb_users.

Kod memilih lajur daripada kedua-dua jadual dan menyertainya berdasarkan medan buddy_requester_id. Walau bagaimanapun, baris berikutnya cuba untuk mengambil hanya satu baris menggunakan $request_list_result->fetch_array().

Penyelesaian: Menggunakan fetch_all() untuk Mendapatkan Berbilang Baris

Untuk mendapatkan semula berbilang baris, anda perlu menggunakan fetch_all() kaedah:

$request_list_result = $mysqli->query("
SELECT buddy_requester_id, buddy_reciepient_id, user_id, user_fullname FROM sb_buddies
JOIN sb_users ON buddy_requester_id=user_id
WHERE buddy_status='0' AND buddy_reciepient_id='". get_uid() ."'");

$request_list_rows = $request_list_result->fetch_all();

echo $request_list_rows[0]['user_fullname'];

Menjelaskan Perbezaan

  • fetch_array() mengembalikan satu baris sebagai tatasusunan bersekutu, di mana nama lajur berfungsi sebagai kunci.
  • fetch_all() mengembalikan semua baris sebagai tatasusunan tatasusunan bersekutu, setiap satu mewakili satu baris.

Dengan menggunakan fetch_all(), kod kini boleh mengakses data untuk semua baris yang sepadan, menyelesaikan isu mendapatkan hanya satu baris.

Atas ialah kandungan terperinci Mengapa Pertanyaan MySQLi Saya Hanya Mengembalikan Satu Baris Apabila Saya Menjangkakan Berbilang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn