PHP PDO insert - lastInsertId()

728x90

 

- insert를 하는 동시에 그 insert를 한 id 값을 가져와야 하는 경우가 있다. 

 

문제.

 

1. 처음에는 insert를 하고 select 를 했지만 이렇게 하면 사용자가 동시다발적으로 insert를 하였을 경우 문제가 생길 수 있다. 가져와야 하는 값을 못가져오게 된다.

 

해결법.

 

$sql = "INSERT INTO TABLE_TEST(id) 
                VALUES('$id')";
        $stmt = $dbh->prepare($sql);
        $stmt->execute();
        $id = $dbh->lastInsertId();

이렇게 inset sql 문을 만들고 exectue()를 한다음 줄에 lastInsertId()를 사용해서 id 값을 가져오면 된다. 

 

이 방법 말고도 mysql , php 에서 지원되는 다른 방법도 있다.

반응형

'Back-End > PHP' 카테고리의 다른 글

코드이그나이터 uri 값 가져오기  (0) 2021.02.19
코드이그나이터 session 사용방법  (0) 2021.02.19
PHP 간단한 이미지 리사이징  (0) 2021.02.16