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];
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!