Mengira Baris dengan PDO: Pendekatan Optimum
Menentukan kiraan baris dalam jadual pangkalan data ialah tugas biasa dalam aplikasi PHP. Walaupun terdapat pelbagai kaedah untuk mencapai ini, pendekatan ideal menggunakan PDO menonjol.
Menggunakan PDO untuk Mendapatkan Kiraan Baris
Apabila mengambil kiraan baris sahaja tanpa data , amalan terbaik ialah memanfaatkan keupayaan pengiraan terbina dalam pangkalan data. Ini boleh dicapai menggunakan coretan kod seperti ini:
$sql = "SELECT count(*) FROM `table` WHERE foo = ?"; $result = $con->prepare($sql); $result->execute([$bar]); $number_of_rows = $result->fetchColumn();
Sebagai alternatif, jika anda juga memerlukan data sebenar bersama-sama kiraan baris, PDO menawarkan kaedah PDOStatement::rowCount(). Pendekatan ini mungkin berfungsi dengan pertanyaan buffer MySQL (tetapan lalai).
Limitation of PDOStatement::rowCount()
Sedangkan PDOStatement::rowCount() ialah kaedah yang serba boleh , ia tidak dijamin secara universal. Menurut dokumentasi PDO, pemacu tertentu mungkin tidak menyokongnya, terutamanya untuk pernyataan SELECT.
Kaedah Count() dengan PDO::fetchAll()
Dalam kes sedemikian , anda boleh menggunakan kaedah count() digabungkan dengan PDO::fetchAll(). Pendekatan ini melibatkan pengambilan semula data ke dalam tatasusunan, yang kemudiannya boleh dikira:
$data = $pdo->fetchAll(); $number_of_rows = count($data);
Penyata Disediakan lwn. Pertanyaan Langsung
Perhatikan bahawa kod contoh di atas menggunakan kenyataan yang disediakan. Walau bagaimanapun, untuk pertanyaan tanpa pembolehubah, anda boleh memilih fungsi query() sebaliknya:
$nRows = $pdo->query('select count(*) from blah')->fetchColumn(); echo $nRows;
Dengan menggunakan kaedah ini, anda boleh mendapatkan kiraan baris dengan cekap menggunakan PDO, memastikan prestasi optimum dan kebolehsuaian merentas pangkalan data yang berbeza.
Atas ialah kandungan terperinci Apakah Cara Paling Cekap untuk Mengira Baris dalam Jadual Pangkalan Data Menggunakan PDO?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!