Rumah > pembangunan bahagian belakang > tutorial php > Mengapakah COUNT(*) mengembalikan 1 dalam MySQLi apabila jadual mempunyai lebih banyak baris?

Mengapakah COUNT(*) mengembalikan 1 dalam MySQLi apabila jadual mempunyai lebih banyak baris?

Barbara Streisand
Lepaskan: 2024-11-10 08:04:02
asal
260 orang telah melayarinya

Why does COUNT(*) return 1 in MySQLi when the table has more rows?

Salah Kira Fungsi Kira(*) dalam MySQLi

Apabila melaksanakan pertanyaan COUNT(*) dalam MySQLi, pengguna mungkin menghadapi tingkah laku yang tidak dijangka di mana hasilnya secara konsisten mengembalikan 1 tanpa mengira saiz jadual sebenar. Percanggahan antara MySQLi dan phpMyAdmin ini boleh membingungkan.

Penyiasatan dan Penyelesaian

Ketidakpadanan timbul kerana MySQLi mewakili hasil COUNT(*) sebagai set rekod satu baris. Untuk mengakses kiraan sebenar, keputusan mesti diambil menggunakan kaedah fetch_row().

Oleh itu, cara yang betul untuk menentukan kiraan baris menggunakan MySQLi ialah:

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

Dalam pengubahsuaian ini kod, sifat num_rows tidak digunakan kerana hasilnya ialah set rekod satu baris, dan oleh itu, rowCountnya sentiasa 1. Sebaliknya, kaedah fetch_row() digunakan untuk mendapatkan semula kiraan sebenar yang disimpan dalam lajur pertama set rekod.

Atas ialah kandungan terperinci Mengapakah COUNT(*) mengembalikan 1 dalam MySQLi apabila jadual mempunyai lebih banyak baris?. 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