PDOStatement :: rowCount
Podręcznik PHP PDO referencyjny
PDOStatement :: rowCount - Zwraca instrukcję SQL, który jest od wielu wierszy (PHP 5> = 5.1.0, PECL pdo> = 0.1.0)
wyjaśnienie
gramatyka
int PDOStatement::rowCount ( void )
PDOStatement :: rowCount () zwraca DELETE, INSERT lub UPDATE wpływ na liczbę wierszy zawartych przez odpowiedniego obiektu PDOStatement.
Jeśli instrukcja SQL wykonywane przez skojarzony PDOStatement był SELECT, niektóre dane mogą zwracać liczbę wierszy zwracanych przez tego oświadczenia. Jednak ta metoda nie może zagwarantować, że wszystkie dane są poprawne, oraz do zastosowań przenośnych nie powinny polegać na tej metodzie.
Wartość zwracana
Zwraca liczbę wierszy.
Przykłady
Zwraca liczbę wierszy usunięta
PDOStatement :: rowCount () zwraca liczbę wierszy dotkniętych DELETE, INSERT, UPDATE lub oświadczenie uderzenia.
<?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"); ?>
Powyższy przykład wyświetli:
Return number of rows that were deleted: Deleted 9 rows.
Obliczone przez liczbę wierszy zwróconych przez SELECT
Dla większości baz danych, PDOStatement :: rowCount () nie zwraca liczbę wierszy dotkniętych SELECT. Alternatywną metodą jest użycie PDO :: zapytanie () i przeznaczone do wydawania instrukcji SELECT w tym samym wyrażeniu warunek select count (*) oświadczenie, a następnie użyj PDOStatement :: fetchColumn (), aby uzyskać liczbę wierszy zwracanych. Tak, że aplikacja może wykonać prawidłowo.
<?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; ?>
Powyższy przykład wyjście jest:
apple banana orange pear