mysqli::$insert_id

(PHP 5, PHP 7, PHP 8)

mysqli::$insert_id -- mysqli_insert_id — 마지막 쿼리에 의해 AUTO_INCREMENT 열에 대해 생성된 값을 반환합니다.


설명

객체 지향 스타일

int|string $mysqli->insert_id;

절차적 스타일

mysqli_insert_id(mysqli $mysql): int|string

AUTO_INCREMENT 속성이 있는 열이 있는 테이블에 대한 INSERT 또는 UPDATE 쿼리에 의해 생성된 ID를 반환합니다. 다중 행 INSERT 문의 경우 성공적으로 삽입된 첫 번째 자동 생성 값을 반환합니다.

LAST_INSERT_ID() MySQL 함수를 사용하여 INSERT 또는 UPDATE 문을 수행하면 mysqli_insert_id()가 반환하는 값도 수정됩니다. LAST_INSERT_ID()(expr)를 사용하여 AUTO_INCREMENT 값을 생성한 경우 생성된 AUTO_INCREMENT 값 대신 마지막 expr 값을 반환합니다.

이전 명령문이 AUTO_INCREMENT 값을 변경하지 않은 경우 0을 반환합니다. mysqli_insert_id()는 값을 생성한 명령문 직후에 호출되어야 합니다.


매개변수

mysql
절차적 스타일 전용: mysqli_connect() 또는 mysqli_init()에 의해 반환된 mysqli 객체

반환 값

이전 쿼리에 의해 업데이트된 AUTO_INCREMENT 필드의 값입니다. 연결에 대한 이전 쿼리가 없거나 쿼리가 AUTO_INCREMENT 값을 업데이트하지 않은 경우 0을 반환합니다.

현재 연결을 사용하여 실행된 명령문만 반환 값에 영향을 줍니다. 값은 다른 연결이나 클라이언트를 사용하여 발행된 명령문의 영향을 받지 않습니다.

메모: 숫자가 최대 int 값보다 크면 문자열로 반환됩니다.


Examples

예제 #1 $mysqli->insert_id 예제

객체 지향 스타일

                  
<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

$mysqli->query("CREATE TABLE myCity LIKE City");

$query = "INSERT INTO myCity VALUES (NULL, 'Stuttgart', 'DEU', 'Stuttgart', 617000)";
$mysqli->query($query);

printf("New record has ID %d.\n", $mysqli->insert_id);

/* drop table */
$mysqli->query("DROP TABLE myCity");
                  
                

절차적 스타일

                  
<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

mysqli_query($link, "CREATE TABLE myCity LIKE City");

$query = "INSERT INTO myCity VALUES (NULL, 'Stuttgart', 'DEU', 'Stuttgart', 617000)";
mysqli_query($link, $query);

printf("New record has ID %d.\n", mysqli_insert_id($link));

/* drop table */
mysqli_query($link, "DROP TABLE myCity");
                  
                

위의 예는 다음을 출력합니다.

New record has ID 1.