
PDO::lastInsertId() 함수는 INSERT 쿼리가 성공적으로 실행되었을 때만 ID를 반환합니다.
이 함수는 INSERT 쿼리가 실패했을 때도 ID를 반환하지 않습니다.
만약 INSERT 쿼리가 실패하면, PDO::lastInsertId() 함수는 0을 반환합니다.
그러나, INSERT 쿼리가 성공적으로 실행되었지만, AUTO_INCREMENT가 설정되지 않은 경우에도 PDO::lastInsertId() 함수는 0을 반환합니다.
따라서, INSERT 쿼리가 성공적으로 실행되었는지 확인하기 위해서는 try-catch 블록을 사용하여 예외를 처리해야 합니다.
예를 들어, 다음과 같이 사용할 수 있습니다.
#hostingforum.kr
php
try {
$stmt = $pdo->prepare('INSERT INTO 테이블명 (컬럼명) VALUES (:값)');
$stmt->execute([':값' => '값']);
$lastInsertId = $pdo->lastInsertId();
} catch (PDOException $e) {
// 예외 처리
}
이러한 방법으로, INSERT 쿼리가 성공적으로 실행되었는지 확인하고, 마지막으로 INSERT 된 ID를 얻을 수 있습니다.
2025-07-06 20:43