PDO::errorInfo
PDO::getAttribute
PDO
PHP Manual

# PDO::exec

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

PDO::exec — Execute an SQL statement and return the number of affected rows

### 설명

int PDO::exec ( string `$statement` )

PDO::exec() executes an SQL statement in a single function call, returning the number of rows affected by the statement.

PDO::exec() does not return results from a SELECT statement. For a SELECT statement that you only need to issue once during your program, consider issuing PDO::query(). For a statement that you need to issue multiple times, prepare a PDOStatement object with PDO::prepare() and issue the statement with PDOStatement::execute().

### 인수

`statement`

  The SQL statement to prepare and execute.

### 반환값

PDO::exec() returns the number of rows that were modified or deleted by the SQL statement you issued. If no rows were affected, PDO::exec() returns 0.

Warning

이 함수는 논리 `FALSE`를 반환하지만, 0이나 "" 등, 논리 `FALSE`로 취급할 수 있는 다른 값을 반환할 수 있습니다. 자세한 정보는 논리형 섹션을 참고하십시오. 이 함수의 반환값을 확인하려면 === 연산자를 이용하십시오.

The following example incorrectly relies on the return value of PDO::exec(), wherein a statement that affected 0 rows results in a call to die():

`<?php
$db->exec() or die(print_r($db->errorInfo(), true));
?>`

### 예제

Example #1 Issuing a DELETE statement

Count the number of rows deleted by a DELETE statement with no WHERE clause.

`<?php
$dbh = new PDO('odbc:sample', 'db2inst1', 'ibmdb2');
/* Delete all rows from the FRUIT table */
$count = $dbh->exec("DELETE FROM fruit WHERE colour = 'red'");
/* Return number of rows that were deleted */
print("Deleted $count rows.\n");
?>`

위 예제의 출력:

    Deleted 1 rows.

### 참고

- PDO::prepare() - Prepares a statement for execution and returns a statement object
- PDO::query() - Executes an SQL statement, returning a result set as a PDOStatement object
- PDOStatement::execute() - Executes a prepared statement

PDO::errorInfo
PDO::getAttribute
PDO
PHP Manual