Cara Mengambil Kiraan Baris Tepat daripada Jadual MySQL menggunakan PHP
Mendapatkan kiraan baris dalam jadual MySQL adalah tugas biasa dalam pengendalian pangkalan data. PHP menyediakan beberapa pilihan untuk ini, terutamanya bagi mereka yang lebih suka kod prosedur.
Ralat:
Satu ralat biasa ialah mendapatkan perkataan "Array" dan bukannya nombor . Ini berlaku apabila menggunakan mysqli_fetch_assoc() yang mengembalikan tatasusunan bersekutu.
Penyelesaian 1: Menggunakan Indeks Tatasusunan
Untuk menyelesaikannya, akses indeks tatasusunan yang sepadan dengan nama lajur . Contohnya:
$count = mysqli_fetch_assoc($result)['COUNT(*)'];
Penyelesaian 2: Menggunakan Alias Lajur
Sebagai alternatif, anda boleh menentukan alias untuk lajur kiraan dalam pertanyaan SQL anda:
$sql = "SELECT COUNT(*) AS cnt FROM news"; $count = mysqli_fetch_assoc($result)['cnt'];
Penyelesaian 3: Menggunakan Berangka Tatasusunan
Pilihan lain ialah menggunakan mysqli_fetch_row() untuk mendapatkan tatasusunan berangka:
$count = mysqli_fetch_row($result)[0];
Pengoptimuman PHP 8.1
Jika menggunakan PHP 8.1 atau lebih baru, anda boleh memudahkan operasi:
$count = mysqli_fetch_column($result);
Elakkan Menggunakan mysqli_num_rows
Walaupun kelihatan menggoda untuk menggunakan mysqli_num_rows, fungsi ini mempunyai had yang ketara dan harus dielakkan untuk mengira baris.
OOP Pendekatan
Bagi mereka yang lebih suka pengaturcaraan berorientasikan objek, kod yang sama boleh ditulis sebagai:
$count = $con->query($sql)->fetch_row()[0];
Pernyataan Disediakan
Apabila menggunakan pertanyaan dengan pembolehubah, anda harus menggunakan pernyataan yang disediakan untuk keselamatan dan kecekapan yang dipertingkatkan:
$stmt = $con->prepare("SELECT COUNT(*) FROM news WHERE category=?"); $stmt->bind_param('s', $category); $stmt->execute(); $count = $stmt->get_result()->fetch_row()[0];
Atas ialah kandungan terperinci Bagaimana Mengira Baris MySQL Dengan Tepat Menggunakan PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!