Rumah > Artikel > pangkalan data > Bagaimana untuk Mengira Baris dengan Cekap daripada Pernyataan PDO SELECT dalam PHP?
Cara Mengira Baris dalam PHP PDO
PDO, perpustakaan standard industri untuk mengakses pangkalan data dalam PHP, tidak mempunyai kaedah khusus untuk mengira baris yang dikembalikan oleh pertanyaan SELECT. Penyelesaian biasa ialah menggunakan count($results->fetchAll()), tetapi ia bukanlah pendekatan yang paling berkesan.
PDOStatement::rowCount
The Objek pernyataan PDO mendedahkan kaedah rowCount. Bagaimanapun, menurut dokumentasi rasmi PDO:
For most databases, PDOStatement::rowCount() does not return the number of rows affected by a SELECT statement. Instead, use PDO::query() to issue a SELECT COUNT(*) statement with the same predicates as your intended SELECT statement, then use PDOStatement::fetchColumn() to retrieve the number of rows that will be returned. Your application can then perform the correct action.
Mengira Baris dengan Set Rekod Sedia Ada
Jika anda telah mengambil data, anda boleh menggunakan fungsi kira pada tatasusunan hasil:
$stmt = $db->prepare('SELECT * FROM table'); $stmt->execute(); $rowCount = count($stmt->fetchAll(PDO::FETCH_ASSOC));
Sebagai alternatif, anda boleh bergantung pada traversal berorientasikan objek dan mengira baris secara manual:
$rowCount = 0; while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) { $rowCount++; }
Ingat bahawa pengambilan semua baris ke dalam memori boleh memberi kesan kepada prestasi aplikasi, terutamanya dengan set hasil yang besar. Pertimbangkan penomboran atau teknik pengoptimuman lain seperti yang diperlukan.
Atas ialah kandungan terperinci Bagaimana untuk Mengira Baris dengan Cekap daripada Pernyataan PDO SELECT dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!