Rumah > pembangunan bahagian belakang > tutorial php > Mengapa Kaedah `query()` MySQLi Mengembalikan Kiraan Baris Tidak Dijangka Apabila Menggunakan `COUNT(*)`?

Mengapa Kaedah `query()` MySQLi Mengembalikan Kiraan Baris Tidak Dijangka Apabila Menggunakan `COUNT(*)`?

Mary-Kate Olsen
Lepaskan: 2024-11-07 06:55:03
asal
657 orang telah melayarinya

Why Does MySQLi's `query()` Method Return an Unexpected Row Count When Using `COUNT(*)`?

Kaedah Pertanyaan MySQL Menghasilkan Kiraan Baris Tidak Dijangka

Apabila cuba mendapatkan semula kiraan baris jadual MySQL menggunakan fungsi COUNT(*) dan kaedah query() objek MySQLi, anda mungkin menemui hasil yang tidak dijangka di mana kiraan baris yang dikembalikan sentiasa 1. Ini boleh berbeza daripada hasil yang betul apabila melaksanakan pertanyaan yang sama menggunakan alat seperti phpMyAdmin.

Pemahaman the Issue

Harta num_rows bagi objek MySQLi_Result mencerminkan bilangan baris dalam set hasil yang dikembalikan oleh pertanyaan yang dilaksanakan. Walau bagaimanapun, apabila menggunakan fungsi COUNT(*), hasilnya ialah satu baris yang mengandungi nilai kiraan dan bukannya berbilang baris seperti dalam hasil pertanyaan biasa.

Pendekatan yang Betul

Untuk mendapatkan nilai kiraan yang betul menggunakan MySQLi, anda perlu mengambil baris hasil tunggal daripada objek MySQLi_Result dan mendapatkan semula nilai kiraan daripada baris tersebut. Ini boleh dicapai menggunakan kaedah fetch_row(), yang mengembalikan tatasusunan nilai lajur daripada baris pertama dalam set hasil.

Berikut ialah contoh yang menunjukkan pendekatan yang betul:

$result = $db->query("SELECT COUNT(*) FROM `table`");
$row = $result->fetch_row();
$count = $row[0];
echo 'Row count: ', $count;
Salin selepas log masuk

Kod ini mendapatkan semula nilai kiraan daripada baris pertama dan mencetaknya.

Atas ialah kandungan terperinci Mengapa Kaedah `query()` MySQLi Mengembalikan Kiraan Baris Tidak Dijangka Apabila Menggunakan `COUNT(*)`?. 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan