PHP PDO: Mendapatkan Bilangan Baris Dikembalikan oleh Pertanyaan PILIH
Walaupun PDO tidak mempunyai kaedah khusus untuk mengira baris yang dikembalikan oleh SELECT pertanyaan, beberapa pendekatan alternatif tersedia untuk mencapai ini kefungsian.
Menggunakan rowCount()
Kelas PDOStatement menyediakan kaedah rowCount() yang mengembalikan bilangan baris yang dipengaruhi oleh kenyataan UPDATE, INSERT atau DELETE. Walau bagaimanapun, manual menasihatkan agar tidak menggunakan rowCount() dengan pernyataan SELECT, kerana ia mungkin tidak menggambarkan kiraan baris dengan tepat.
Menggunakan Subquery COUNT(*)
Mengikut kepada dokumentasi PDO, pendekatan yang disyorkan ialah menggunakan subquery PDO::query() dengan COUNT(*) untuk mengira baris. Bilangan baris kemudiannya boleh diambil menggunakan PDOStatement::fetchColumn(). Contohnya:
$stmt = $conn->prepare('SELECT COUNT(*) FROM table'); $stmt->execute(); $rowCount = $stmt->fetchColumn();
Menggunakan Kaedah Pengambilan
Jika anda telah mengambil data ke dalam set hasil, anda boleh menggunakan salah satu kaedah pengambilan* untuk mendapatkan semula data dan gunakan fungsi count() untuk menentukan bilangan baris. Contohnya, menggunakan kaedah fetchAll():
$stmt = $conn->query('SELECT * FROM table'); $rows = $stmt->fetchAll(); $rowCount = count($rows);
Pertimbangan Tambahan
Apabila menggunakan pertanyaan SELECT dengan klausa LIMIT, kaedah rowCount() mungkin kembali kiraan baris sebelum LIMIT digunakan. Oleh itu, secara amnya disyorkan untuk menggunakan pendekatan subkueri yang diterangkan di atas untuk memastikan ketepatan.
Atas ialah kandungan terperinci Bagaimana untuk Mengira Baris yang Dikembalikan dengan Cekap oleh Pertanyaan PDO PDO PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!