라이브러리

[PHP] SqlStatementResult::getGeneratedIds - 생성된 ID 가져오기




SQL Statement Result의 getGeneratedIds() 메소드는 SQL 쿼리에서 AUTO_INCREMENT, IDENTITY, SEQUENCE, 또는 USER-DEFINED 함수를 사용하여 생성된 ID를 반환합니다. 이 메소드는 PHP의 PDO (PHP Data Objects) 확장에서 사용할 수 있습니다.

getGeneratedIds() 메소드 사용법


getGeneratedIds() 메소드는 SQL 쿼리에서 생성된 ID를 반환합니다. 이 메소드는 PDOStatement 객체의 결과로 반환됩니다.

# 예제 1: AUTO_INCREMENT 사용


#hostingforum.kr
php

// PDO 연결 설정

$db = new PDO('mysql:host=localhost;dbname=mydb', 'username', 'password');



// SQL 쿼리 실행

$stmt = $db->prepare('INSERT INTO users (name, email) VALUES (:name, :email)');

$stmt->bindParam(':name', 'John Doe');

$stmt->bindParam(':email', 'john@example.com');

$stmt->execute();



// 생성된 ID를 가져옵니다.

$generatedId = $stmt->getGeneratedIds()[0];



echo "생성된 ID: $generatedId";



# 예제 2: IDENTITY 사용


#hostingforum.kr
php

// PDO 연결 설정

$db = new PDO('sqlserver:host=localhost;dbname=mydb', 'username', 'password');



// SQL 쿼리 실행

$stmt = $db->prepare('INSERT INTO users (name, email) VALUES (:name, :email)');

$stmt->bindParam(':name', 'John Doe');

$stmt->bindParam(':email', 'john@example.com');

$stmt->execute();



// 생성된 ID를 가져옵니다.

$generatedId = $stmt->getGeneratedIds()[0];



echo "생성된 ID: $generatedId";



# 예제 3: SEQUENCE 사용


#hostingforum.kr
php

// PDO 연결 설정

$db = new PDO('oracle:host=localhost;dbname=mydb', 'username', 'password');



// SQL 쿼리 실행

$stmt = $db->prepare('INSERT INTO users (name, email) VALUES (:name, :email)');

$stmt->bindParam(':name', 'John Doe');

$stmt->bindParam(':email', 'john@example.com');

$stmt->execute();



// 생성된 ID를 가져옵니다.

$generatedId = $stmt->getGeneratedIds()[0];



echo "생성된 ID: $generatedId";



주의사항


* getGeneratedIds() 메소드는 PDOStatement 객체의 결과로 반환됩니다. 따라서 SQL 쿼리 실행 후에만 사용할 수 있습니다.
* 생성된 ID를 가져올 때, IDENTITY, SEQUENCE, 또는 USER-DEFINED 함수를 사용하는 경우, getGeneratedIds() 메소드는 여러 ID를 반환할 수 있습니다. 이 경우, ID를 배열로 반환합니다.
* getGeneratedIds() 메소드는 PDO 5.3 이상 버전에서만 사용할 수 있습니다. 이전 버전에서는 사용할 수 없습니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 10,077건 / 198 페이지

검색

게시물 검색