Rumah >pangkalan data >tutorial mysql >Apakah Cara Terbaik untuk Mendapatkan Kiraan Baris Menggunakan PDO dalam PHP?

Apakah Cara Terbaik untuk Mendapatkan Kiraan Baris Menggunakan PDO dalam PHP?

Patricia Arquette
Patricia Arquetteasal
2024-12-25 05:31:10374semak imbas

What's the Best Way to Get a Row Count Using PDO in PHP?

Amalan Terbaik untuk Pengiraan Baris dengan PDO

Mendapatkan kiraan baris menggunakan PDO dalam PHP boleh menjadi topik perdebatan. Artikel ini menangani isu ini dan memberikan panduan tentang pendekatan optimum.

Mengelakkan fetchAll untuk Set Data Besar

Menggunakan fetchAll untuk mendapatkan semula semua baris mungkin tidak sesuai untuk set data yang besar kerana kepada kebimbangan penggunaan ingatan. Sebaliknya, pertimbangkan untuk membuat pertanyaan kepada pangkalan data secara terus untuk kiraan baris.

Menggunakan Count(*) dengan PDO

Untuk mendapatkan semula kiraan baris dengan cekap, gunakan pertanyaan seperti:

$sql = "SELECT count(*) FROM `table` WHERE foo = ?";
$result = $con->prepare($sql);
$result->execute([$bar]);
$number_of_rows = $result->fetchColumn();

Pendekatan ini memanfaatkan keupayaan pangkalan data untuk melaksanakan baris mengira.

rowCount() untuk Penyata PDO

PDO juga menawarkan kaedah rowCount() untuk objek PDOStatement. Walau bagaimanapun, kebolehpercayaannya untuk mendapatkan semula kiraan baris berbeza-beza merentas pangkalan data. Ia mungkin tidak selalu berfungsi untuk pernyataan SELECT dalam semua senario.

Pendekatan Alternatif dengan fetchAll

Jika anda memerlukan kedua-dua kiraan baris dan data itu sendiri, gunakan PDO:: fetchAll() untuk mendapatkan semula data ke dalam tatasusunan. Fungsi count() kemudiannya boleh digunakan untuk menentukan bilangan baris.

Contoh Penyata Disediakan

Berikut ialah contoh menggunakan pernyataan yang disediakan:

$nRows = $pdo->query('select count(*) from blah')->fetchColumn();
echo $nRows;

Atas ialah kandungan terperinci Apakah Cara Terbaik untuk Mendapatkan Kiraan Baris Menggunakan PDO dalam PHP?. 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