Rumah >pangkalan data >tutorial mysql >Mengapa MySQLi Saya `COUNT(*)` Sentiasa Mengembalikan 1?

Mengapa MySQLi Saya `COUNT(*)` Sentiasa Mengembalikan 1?

Barbara Streisand
Barbara Streisandasal
2024-12-02 19:28:12581semak imbas

Why Does My MySQLi `COUNT(*)` Always Return 1?

Hasil Kiraan(*) MySQLi Salah: Sentiasa Mengembalikan 1

Dalam percubaan untuk mendapatkan semula bilangan baris dalam jadual, anda temui isu di mana kiraan $result->num_rows secara konsisten mengembalikan 1. Walaupun menggunakan pertanyaan yang betul dalam phpMyAdmin dan mendapatkan hasil yang diharapkan, kaedah PHP bertindak secara tidak dijangka.

Untuk membetulkan tingkah laku ini, anda perlu memahami bahawa COUNT(*) ialah fungsi agregat yang mengembalikan satu nilai. Untuk mendapatkan semula nilai ini, anda perlu mengambil hasil daripada pertanyaan menggunakan $result->fetch_row(). Elemen pertama dalam tatasusunan yang terhasil ($baris[0]) akan mengandungi kiraan.

Berikut ialah kod yang diperbetulkan:

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

Dengan memasukkan perubahan ini, anda kini akan memperoleh dengan betul kiraan baris dalam jadual anda.

Atas ialah kandungan terperinci Mengapa MySQLi Saya `COUNT(*)` Sentiasa Mengembalikan 1?. 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