Kiraan Baris Tepat dengan PDO dalam PHP
Menentukan kiraan baris dalam pertanyaan pangkalan data adalah penting untuk banyak aplikasi. Dengan pengenalan PDO (Objek Data PHP), terdapat beberapa percanggahan mengenai pendekatan terbaik untuk mendapatkan semula kiraan baris. Mari kita teroka kaedah yang paling berkesan.
Mengelakkan fetchAll() dengan Set Data Besar
Walaupun fetchAll() ialah kaedah yang mudah untuk mendapatkan semula semua hasil daripada pertanyaan, ia bukan sesuai untuk set data yang besar di mana penggunaan memori menjadi kebimbangan. Jika hanya kiraan baris diperlukan, pendekatan alternatif lebih diutamakan.
Mendapatkan Kiraan Baris Tanpa Data
Apabila data sebenar tidak diperlukan, pendekatan berikut disyorkan :
$sql = "SELECT count(*) FROM `table` WHERE foo = ?"; $result = $con->prepare($sql); $result->execute([$bar]); $number_of_rows = $result->fetchColumn();
Pertanyaan ini mendapatkan terus kiraan baris tanpa mengambil data itu sendiri, menyimpan memori.
PDOStatement::rowCount()
Untuk mendapatkan kiraan baris bersama-sama dengan data yang diambil, PDO menyediakan PDOStatement::rowCount(). Dalam MySQL, kaedah ini berfungsi dengan berkesan dengan pertanyaan buffer, yang didayakan secara lalai. Walau bagaimanapun, kebolehpercayaannya tidak dijamin untuk pemacu pangkalan data lain.
Menggunakan PDO::query()
Jika pertanyaan tidak mengandungi sebarang pembolehubah, pendekatan yang lebih ringkas adalah menggunakan PDO::query() dan bukannya pernyataan yang disediakan:
$nRows = $pdo->query('select count(*) from blah')->fetchColumn(); echo $nRows;
Kaedah ini menghapuskan keperluan untuk yang berasingan $result pembolehubah dan memudahkan kod.
Atas ialah kandungan terperinci Apakah Cara Paling Cekap untuk Mendapatkan Kiraan Baris Tepat Menggunakan PDO dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!