PDO::exec
(PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 0.1.0)
PDO::exec — SQL 문을 실행하고 영향을 받는 행 수를 반환합니다.
설명
public PDO::exec(string $statement
): int|false
PDO::exec()는 단일 함수 호출에서 SQL 문을 실행하여 명령문의 영향을 받는 행 수를 반환합니다.
PDO::exec()는 SELECT 문에서 결과를 반환하지 않습니다. 프로그램 중에 한 번만 발행해야 하는 SELECT 문의 경우 PDO::query() 발행을 고려하십시오. 여러 번 발행해야 하는 명령문의 경우 PDO::prepare()로 PDOStatement 객체를 준비하고 PDOStatement::execute()로 명령문을 실행하십시오.
매개변수
statement
- 준비하고 실행할 SQL 문.
쿼리 내부의 데이터는 적절하게 이스케이프되어야 합니다.
반환 값
PDO::exec()는 실행한 SQL 문에 의해 수정되거나 삭제된 행 수를 반환합니다. 영향을 받은 행이 없으면 PDO::exec()는 0
을 반환합니다.
경고 이 함수는 부울 거짓을 반환할 수 있지만 거짓으로 평가되는 부울이 아닌 값을 반환할 수도 있습니다. 자세한 내용은 부울 섹션을 참조하세요. 이 함수의 반환 값을 테스트하려면 === 연산자를 사용하십시오.
다음 예제는 PDO::exec()의 반환 값에 잘못 의존합니다. 여기서 0개의 행에 영향을 주는 명령문은 die()를 호출합니다.
<?php
$db->exec() or die(print_r($db->errorInfo(), true)); // incorrect
?>
Examples
예제 #1 DELETE 문 실행
WHERE 절이 없는 DELETE 문으로 삭제된 행 수를 계산합니다.
<?php
$dbh = new PDO('odbc:sample', 'db2inst1', 'ibmdb2');
/* Delete all rows from the FRUIT table */
$count = $dbh->exec("DELETE FROM fruit");
/* Return number of rows that were deleted */
print("Deleted $count rows.\n");
?>
위의 예는 다음을 출력합니다.
Deleted 1 rows.
기타
- PDO::prepare() - 실행할 명령문을 준비하고 명령문 개체를 반환합니다.
- PDO::query() - 자리 표시자 없이 SQL 문을 준비하고 실행합니다.
- PDOStatement::execute() - 준비된 명령문을 실행합니다.