Rumah > pembangunan bahagian belakang > tutorial php > Mengapakah mysqli_num_rows() Mengembalikan \'menjangkakan parameter 1 sebagai mysqli_result, boolean diberikan\'?

Mengapakah mysqli_num_rows() Mengembalikan \'menjangkakan parameter 1 sebagai mysqli_result, boolean diberikan\'?

DDD
Lepaskan: 2024-11-28 00:08:12
asal
686 orang telah melayarinya

Why Does mysqli_num_rows() Return

mysqli_num_rows() Ralat Fungsi dalam PHP dan MySQL: Panduan Terperinci

Isu:

Apabila memanggil fungsi mysqli_num_rows(), ralat "mysqli_num_rows() menjangkakan parameter 1 ialah mysqli_result, boolean diberikan" ditemui. Ralat ini menunjukkan masalah dengan parameter yang dihantar kepada fungsi.

Analisis dan Penyelesaian:

Fungsi mysqli_num_rows() menjangkakan parameter pertama menjadi objek mysqli_result yang sah . Dalam kod yang disediakan, $dbc tersilap digunakan sebagai parameter. Walau bagaimanapun, pemeriksaan kod mendedahkan bahawa $dbc adalah hasil daripada panggilan mysqli_query().

Isu sebenar terletak pada pertanyaan itu sendiri. Pertanyaan cuba melakukan JOIN DALAM antara jadual "pengguna" dan "profil". Walau bagaimanapun, tiada syarat JOIN yang jelas dinyatakan dalam pertanyaan. Ini menyebabkan pertanyaan mengembalikan palsu, yang kemudiannya dihantar ke fungsi mysqli_num_rows() dan mencetuskan ralat.

Untuk menyelesaikan isu ini, anda perlu menentukan syarat JOIN yang sah dalam pertanyaan. Dalam kes ini, anda mungkin harus MENYERTAI "pengguna" dan "profil" pada medan user_id mereka. Setelah pertanyaan diperbetulkan, ia harus mengembalikan objek mysqli_result yang sah, yang kemudiannya boleh dihantar ke fungsi mysqli_num_rows().

Pertanyaan Dibetulkan:

$dbc = mysqli_query($mysqli, "
SELECT users.*, profile.*
FROM users 
INNER JOIN profile 
ON users.user_id = profile.user_id 
WHERE users.user_id=3
");
Salin selepas log masuk

Dengan pelarasan ini, pertanyaan harus dilaksanakan dengan jayanya, mengembalikan objek mysqli_result yang boleh digunakan oleh fungsi mysqli_num_rows() tanpa mencetuskan ralat.

Atas ialah kandungan terperinci Mengapakah mysqli_num_rows() Mengembalikan \'menjangkakan parameter 1 sebagai mysqli_result, boolean diberikan\'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan