Rumah >pangkalan data >tutorial mysql >Apakah Cara Paling Cekap Mengira Baris Menggunakan PDO dalam PHP?
Menentukan kaedah optimum untuk mendapatkan semula kiraan baris menggunakan PDO dalam PHP kekal sebagai topik perdebatan. Artikel ini meneroka pendekatan alternatif, memberikan panduan untuk pengaturcara yang mencari penyelesaian yang cekap.
Untuk senario di mana mengakses data sebenar tidak diperlukan, pendekatan berpusatkan pangkalan data disyorkan. Dengan kaedah ini, pangkalan data melaksanakan kiraan baris, hanya mengembalikan nilai berangka. Kod berikut menunjukkan pendekatan ini:
$sql = "SELECT count(*) FROM `table` WHERE foo = ?"; $result = $con->prepare($sql); $result->execute([$bar]); $number_of_rows = $result->fetchColumn();
Sebagai alternatif, PDStatement::rowCount() boleh digunakan untuk mendapatkan kiraan baris apabila data itu sendiri juga diambil. Kaedah ini berfungsi dengan berkesan dengan pertanyaan buffer MySQL (didayakan secara lalai).
Walau bagaimanapun, bergantung sepenuhnya pada PDStatement::rowCount() tidak dijamin untuk pangkalan data lain. Menurut dokumentasi PDO:
"Bagi kebanyakan pangkalan data, PDOStatement::rowCount() tidak mengembalikan bilangan baris yang terjejas oleh pernyataan SELECT."
Untuk mengatasi had ini, dokumentasi mencadangkan untuk mengeluarkan pernyataan SELECT COUNT(*) menggunakan PDO::query() dan kemudian menggunakan PDStatement::fetchColumn() untuk mendapatkan semula nilai yang diingini.
Akhir sekali, untuk pertanyaan mudah tanpa ruang letak berubah, PDO::query() boleh digunakan terus:
$nRows = $pdo->query('select count(*) from blah')->fetchColumn(); echo $nRows;
Atas ialah kandungan terperinci Apakah Cara Paling Cekap Mengira Baris Menggunakan PDO dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!