PDOStatement::rowCount
(PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 0.1.0)
PDOStatement::rowCount — 마지막 SQL 문의 영향을 받은 행 수를 반환합니다.
설명
public PDOStatement::rowCount(): int
PDOStatement::rowCount()는 해당 PDOStatement 객체에 의해 실행된 마지막 DELETE, INSERT 또는 UPDATE 문의 영향을 받는 행 수를 반환합니다.
연결된 PDOStatement에 의해 실행된 마지막 SQL 문이 SELECT 문인 경우 일부 데이터베이스는 해당 문에서 반환된 행 수를 반환할 수 있습니다. 그러나 이 동작은 모든 데이터베이스에 대해 보장되지 않으며 이식 가능한 응용 프로그램에 대해 의존해서는 안 됩니다.
메모: 이 메서드는 SQLite 드라이버를 사용하여 항상 "0"(영)을 반환하고 PDO::ATTR_CURSOR 문 속성을 PDO::CURSOR_SCROLL로 설정할 때만 PostgreSQL 드라이버를 사용하여 "0"을 반환합니다.
매개변수
이 함수에는 매개변수가 없습니다.
반환 값
행 수를 반환합니다.
Examples
예제 #1 삭제된 행 수 반환
PDOStatement::rowCount()는 DELETE, INSERT 또는 UPDATE 문의 영향을 받는 행 수를 반환합니다.
<?php
/* Delete all rows from the FRUIT table */
$del = $dbh->prepare('DELETE FROM fruit');
$del->execute();
/* Return number of rows that were deleted */
print("Return number of rows that were deleted:\n");
$count = $del->rowCount();
print("Deleted $count rows.\n");
?>
위의 예는 다음과 유사한 결과를 출력합니다.
Return number of rows that were deleted: Deleted 9 rows.
예제 #2 SELECT 문에서 반환된 행 계산
대부분의 데이터베이스에서 PDOStatement::rowCount()는 SELECT 문의 영향을 받는 행 수를 반환하지 않습니다. 대신 PDO::query()를 사용하여 의도한 SELECT 문과 동일한 술어로 SELECT COUNT(*) 문을 실행한 다음 PDOStatement::fetchColumn()을 사용하여 일치하는 행 수를 검색합니다.
<?php
$sql = "SELECT COUNT(*) FROM fruit WHERE calories > 100";
$res = $conn->query($sql);
$count = $res->fetchColumn();
print "There are " . $count . " matching records.";
위의 예는 다음과 유사한 결과를 출력합니다.
There are 2 matching records.
기타
- PDOStatement::columnCount() - 결과 집합의 열 수를 반환합니다.
- PDOStatement::fetchColumn() - 결과 집합의 다음 행에서 단일 열을 반환합니다.
- PDO::query() - 자리 표시자 없이 SQL 문을 준비하고 실행합니다.