Mendapatkan Kiraan Baris dalam PHP PDO
Berbeza dengan pembolehubah num_rows MySQLi, PHP PDO tidak mempunyai kaedah yang mudah untuk menentukan bilangan baris yang dihasilkan oleh PILIH pertanyaan. Ini membawa kepada persoalan, adakah terdapat pendekatan alternatif untuk mengira baris tanpa menggunakan count($results->fetchAll())?
Kaedah rowCount PDO
Spesifikasi PDO termasuk kaedah PDOStatement->rowCount; walau bagaimanapun, ia secara amnya tidak digalakkan untuk digunakan dalam konteks ini kerana ketidakkonsistenan merentas pangkalan data yang berbeza. Seperti yang dinyatakan dalam manual, rowCount biasanya gagal memberikan kiraan yang tepat apabila digunakan pada pernyataan SELECT.
Pendekatan Disyorkan
Untuk mengelakkan kemungkinan ralat, kaedah pilihan untuk mengira baris dalam PHP PDO adalah untuk mengeluarkan pernyataan SELECT COUNT(*) yang berasingan dengan kekangan yang sama seperti pertanyaan SELECT yang anda maksudkan. Selepas itu, gunakan PDOStatement::fetchColumn() untuk mendapatkan semula kiraan baris. Proses ini memastikan pendekatan serasi yang boleh dipercayai dan merentas pangkalan data.
Pilihan Alternatif untuk Set Rekod Sedia Ada
Jika anda sudah memiliki set rekod dan perlu menentukan bilangan barisnya, anda boleh mengambil data menggunakan salah satu kaedah fetch* dan menggunakan fungsi kiraan PHP. Walaupun pendekatan ini mudah, ia memerlukan pengambilan keseluruhan set rekod ke dalam ingatan, yang mungkin tidak cekap untuk set data yang besar.
Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Kiraan Baris dengan Cekap daripada Pertanyaan PDO SELECT PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!