PDOStatement :: rowCount
PDOStatement :: rowCount - Mengembalikan pernyataan SQL yang pada jumlah baris yang dipengaruhi (PHP 5> = 5.1.0, PECL PDO> = 0.1.0)
penjelasan
tatabahasa
int PDOStatement::rowCount ( void )
PDOStatement :: rowCount () mengembalikan DELETE, INSERT, atau pernyataan UPDATE mempengaruhi jumlah baris dieksekusi oleh objek PDOStatement sesuai.
Jika pernyataan SQL dieksekusi oleh PDOStatement terkait adalah pernyataan SELECT, beberapa data dapat kembali jumlah baris yang dikembalikan oleh pernyataan ini. Namun, metode ini tidak dapat menjamin bahwa semua data valid, dan untuk aplikasi portabel tidak harus bergantung pada metode ini.
Kembali Nilai
Mengembalikan jumlah baris.
contoh
Mengembalikan jumlah baris dihapus
PDOStatement :: rowCount () mengembalikan jumlah baris yang dipengaruhi oleh DELETE, INSERT, UPDATE, atau analisis dampak.
<?php /* 从 FRUIT 数据表中删除所有行 */ $del = $dbh->prepare('DELETE FROM fruit'); $del->execute(); /* 返回被删除的行数 */ print("Return number of rows that were deleted:\n"); $count = $del->rowCount(); print("Deleted $count rows.\n"); ?>
Contoh di atas keluaran:
Return number of rows that were deleted: Deleted 9 rows.
Dihitung dengan jumlah baris yang dikembalikan oleh pernyataan SELECT
Bagi kebanyakan database, PDOStatement :: rowCount () tidak mengembalikan jumlah baris yang dipengaruhi oleh pernyataan SELECT. Metode alternatif adalah dengan menggunakan PDO :: query () dan dimaksudkan untuk mengeluarkan pernyataan SELECT dalam kondisi ekspresi yang sama SELECT COUNT (*) pernyataan, dan kemudian menggunakan PDOStatement :: fetchColumn () untuk mendapatkan jumlah baris yang dikembalikan. Sehingga aplikasi dapat dijalankan dengan benar.
<?php $sql = "SELECT COUNT(*) FROM fruit WHERE calories > 100"; if ($res = $conn->query($sql)) { /* 检查符合 SELECT 语句的行数 */ if ($res->fetchColumn() > 0) { /* 发出一条真正的 SELECT 语句并操作返回的结果 */ $sql = "SELECT name FROM fruit WHERE calories > 100"; foreach ($conn->query($sql) as $row) { print "Name: " . $row['NAME'] . "\n"; } } /* 没有匹配的行 -- 执行其他 */ else { print "No rows matched the query."; } } $res = null; $conn = null; ?>
Contoh di atas output:
apple banana orange pear