Bagaimana cara menemukan jumlah baris yang dikembalikan db_query()
untuk SELECT
pernyataan, atau yang setara dengan mysql_num_rows()
?
Saya menggunakan MySQL.
Jika Anda melihat db_result()
dokumentasi untuk Drupal 6:
function db_result($result) {
if ($result && mysql_num_rows($result) > 0) {
// The mysql_fetch_row function has an optional second parameter $row
// but that can't be used for compatibility with Oracle, DB2, etc.
$array = mysql_fetch_row($result);
return $array[0];
}
return FALSE;
}
Saya juga melihat bahwa Anda dapat melakukan ini di Drupal 6:
$num_rows = db_result(
db_query("SELECT COUNT(*) FROM {node} WHERE type = '%s'", $type->type)
);
Sepertinya Anda bisa melakukannya:
// Execute your query.
$result = db_query($your_query);
// Use mysql_num_rows() on the result set.
$num_rows = mysql_num_rows($result);
db_query()
mengembalikan objek, dan Anda dapat memeriksa jumlah baris menggunakan$res->num_rows
.sumber
Itu tergantung apakah Anda membutuhkan jumlah baris sebelum mengulang pada set hasil atau tidak.
Jika Anda membutuhkannya sebelumnya, Anda biasanya membuat
SELECT COUNT(*)
kueri dengan argumen yang sama seperti kueri pertama Anda dan gunakandb_result()
untuk mengambilnya.Jika Anda membutuhkannya setelah itu, cukup masukkan variabel yang akan Anda tambahkan selama loop Anda:
sumber
Untuk Drupal 7 dapat Anda gunakan
sumber
rowCount()
hanya untuk kueri yang memengaruhi baris seperti INSERT / UPDATE / DELETE. Lihat diskusi di drupal.org/node/1286238