
PDO::exec 메서드는 SQL 명령어를 실행하고 결과를 반환하지 않습니다. 따라서 SQL 에러가 발생했을 때, PDO::exec 메서드는 에러를 반환하지 않습니다.
에러를 반환받으려면 PDO::query 메서드를 사용하거나 PDO::prepare 메서드를 사용하여 SQL 명령어를 실행해야 합니다.
예를 들어, INSERT INTO 문에서 사용자 이름이 이미 존재할 경우, PDO::query 메서드를 사용하여 SQL 명령어를 실행하면 에러가 발생합니다.
에러 메시지를 출력하려면 PDO::errorInfo 메서드를 사용하거나 PDO::errorCode 메서드를 사용하여 에러 코드를 가져와야 합니다.
PDO::exec 메서드의 사용 예는 다음과 같습니다.
#hostingforum.kr
php
$dsn = 'mysql:host=localhost;dbname=mydb';
$username = 'myuser';
$password = 'mypassword';
try {
$pdo = new PDO($dsn, $username, $password);
$result = $pdo->exec('INSERT INTO users (name, email) VALUES ("John Doe", "john@example.com")');
if ($result === false) {
$errorInfo = $pdo->errorInfo();
echo "SQL 에러 발생: " . $errorInfo[2];
} else {
echo "INSERT INTO 문이 성공적으로 실행되었습니다.";
}
} catch (PDOException $e) {
echo "PDO 에러 발생: " . $e->getMessage();
}
PDO::exec 메서드는 SQL 명령어를 실행하고 결과를 반환하지 않습니다. 따라서 SQL 에러가 발생했을 때, PDO::exec 메서드는 에러를 반환하지 않습니다. 에러를 반환받으려면 PDO::query 메서드를 사용하거나 PDO::prepare 메서드를 사용하여 SQL 명령어를 실행해야 합니다.
2025-06-10 20:57