PDOStatement->rowCount

(PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.1.0)

PDOStatement->rowCountSon SQL deyiminden etkilenen satır sayısını döndürür

Açıklama

PDOStatement::rowCount ( void ) : int

PDOStatement nesnesi tarafından çalıştırılan son DELETE, INSERT veya UPDATE deyiminden etkilenen satır sayısını döndürür.

Eğer PDOStatement nesnesi ile ilişkili deyim bir SELECT deyimi ise bazı veritabanları bu deyimden etkilenen satır sayısını da döndürebilmektedir. Ancak bu davranış tüm veritabanları için garanti edilmediğinden taşınıbilir bir uygulamada bu davranışa itibar edilmemelidir.

Dönen Değerler

Etkilenen satır sayısı.

Örnekler

Örnek 1 - Silinen satır sayısının döndürülmesi

PDOStatement::rowCount() bir DELETE, INSERT veya UPDATE deyiminden etkilenen satır sayısını döndürür.

<?php
/* FRUIT tablosundaki tüm satırları silelim */
$del $dbh->prepare('DELETE FROM fruit');
$del->execute();

/* Silinen satır sayısını döndürelim */
$count $del->rowCount();
print(
"$count satır silindi.\n");
?>

Yukarıdaki örneğin çıktısı:

9 satır silindi.

Örnek 2 - Bir SELECT deyiminden etkilenen satırların sayılması

Çoğu veritabanında PDOStatement::rowCount() bir SELECT deyiminden etkilenen satır sayısını döndürmez. Bu bakımdan, SELECT deyiminde kullandığınız yüklemlerin kullanıldığı bir SELECT COUNT(*) deyimi ile yapacağınız bir PDO::query() çağrısından sonra bir PDOStatement::fetchColumn() çağrısı ile etkilenen satır sayısını elde edebilirsiniz.

<?php
$sql 
"SELECT COUNT(*) FROM fruit WHERE calories > 100";
if (
$res $conn->query($sql)) {

    
/* Bu deyimden etkilenen satır sayısına bakalım */
  
if ($res->fetchColumn() > 0) {

        
/* Gerçek SELECT deyimini kullanarak sonuçları alabiliriz */
         
$sql "SELECT name FROM fruit WHERE calories > 100";
       foreach (
$conn->query($sql) as $row) {
           print 
"Meyve: " .  $row['NAME'] . "\n";
         }
    }
    
/* Etkilenen satır yokmuş; gereğini yapalım */
  
else {
      print 
"Sorguyla eşleşen satır yok.";
    }
}

$res null;
$conn null;
?>

Yukarıdaki örneğin çıktısı:

apple
banana
orange
pear

Ayrıca Bakınız