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.