English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
mysqli_insert_id() 함수는 마지막으로 입력된 INSERT 문에서 생성된 자동 증가 ID를 반환합니다.
MySQLi 함수 호출이 INSERT 또는 UPDATE 문을 실행한 경우 AUTO_INCREMENT 열을 가진 테이블이 있는 경우 함수의 역할은 최근 실행된 쿼리에서 생성된 자동 ID를 반환하는 것입니다.
mysqli_insert_id($con)
순번 | 파라미터 및 설명 |
---|---|
1 | con(필수) MySQL 서버와의 연결을 나타내는 객체입니다。 |
mysqli_insert_id() 함수는 마지막 SQL 문장(보통 INSERT 문장)이 AUTO_INCREMENT로 설정된 열의 값을 반환합니다. 마지막 SQL 문장이 INSERT나 UPDATE 문장이 아니거나, 작업하는 테이블에 AUTO_INCREMENT로 설정된 열이 없으면 0을 반환합니다.
이 함수는 원래 PHP 버전5PHP의 모든 높은 버전에서 사용할 수 있는 중에서 새로 추가되었습니다.
mydb 데이터베이스에서 Cricketers라는 테이블을 생성했고, ID 필드가 PRIMARY KEY로 AUTO INCREMENTED로 설정되어 있습니다:
CREATE TABLE Cricketers( ID INT PRIMARY KEY AUTO_INCREMENT, First_Name VARCHAR(255), Last_Name VARCHAR(255), Date_Of_Birth date, Place_Of_Birth VARCHAR(255), Country VARCHAR(255) );
다음 예제에서 설명됩니다mysqli_insert_id()함수의 사용법(객체 지향 스타일)-
<?php //연결을 수립합니다 $con = mysqli_connect("localhost", "root", "password", "mydb"); //employee 테이블에 레코드를 삽입합니다 $sql = "insert into Cricketers values(1, 'Shikhar', 'Dhawan', DATE('1981-12-05), 'Delhi', 'India')"; mysqli_query($con, $sql); //插入ID $id = mysqli_insert_id($con); print("Insert ID: ".$id ."\n"); $sql = "insert into Cricketers values(2, 'Jonathan', 'Trott', DATE('1981-04-22), 'CapeTown', 'SouthAfrica')"; mysqli_query($con, $sql); $id = mysqli_insert_id($con); print("Insert ID: ".$id); //Close connection mysqli_close($con); ?>
Output result
Insert ID: 1 Insert ID: 2
객체 지향 스타일에서 이 함수의 문법은$ con-> insert_id();。다음은 객체 지향 스타일의 $ minus의 This 함수의 예제입니다;
<?php //연결을 수립합니다 $con = new mysqli("localhost", "root", "password", "mydb"); //employee 테이블에 레코드를 삽입합니다 $con -> query("insert into Cricketers values(3, 'Kumara', 'Sangakkara', DATE('1977-10-27'), 'Matale', 'Srilanka')"); //Insert ID $state = $con-> insert_id; print("Insert ID: ".$state."\n"); //employee 테이블에 레코드를 삽입합니다 $con -> query("insert into Cricketers values(4, 'Virat', 'Kohli', DATE('1988-11-05'), 'Delhi', 'India')"); //Insert ID $state = $con-> insert_id; print("Insert ID: ".$state); //Close connection $con -> close(); ?>
Output result
Insert ID: 3 Insert ID: 4
다음은 함수입니다mysqli_insert_id의另一个示例-
<?php //연결을 수립합니다 $con = mysqli_connect("localhost", "root", "password", "mydb"); //Cricketers 테이블의 모든 행을 선택하는 쿼리 mysqli_query($con, "SELECT * FROM Cricketers"); print("Insert ID (select query): ".mysqli_insert_id($con)."\n"); //Cricketers 테이블에 여러 행을 삽입하는 쿼리를 사용합니다 mysqli_query($con, "INSERT INTO Cricketers VALUES (5, 'Rohit', 'Sharma', DATE('1987-04-30'), 'Nagpur', 'India'), (6, 'Ravindra', 'Jadeja', DATE('1988-12-06'), 'Nagpur', 'India') "); print("Insert ID: (multiple inserts) ".mysqli_insert_id($con)."\n"); //조회하여 employee 테이블의 행을 업데이트합니다 mysqli_query($con, "UPDATE Cricketers set COUNTRY = 'S.Africa' where ID = ") 2" print("Insert ID (update query): " . mysqli_insert_id($con) . "\n"); //The query inserts a record into the employee table mysqli_query($con, "INSERT INTO employee VALUES ('Sarmista', 'Sharma', 28, 'F', 15000, 101); print("Insert ID: (table without auto incremented key) " . mysqli_insert_id($con) . "\n"); //Close connection mysqli_close($con); ?>
Output result
Insert ID (select query): 0 Insert ID: (multiple inserts) 6 Insert ID (update query): 0 Insert ID: (table without auto incremented key) 0
The following examples demonstrate SELECT, UPDATE, INSERT, and DELETE queriesmysqli_insert_idFunction usage-
<?php $connection_mysql = mysqli_connect("localhost", "root", "password", "mydb"); if (mysqli_connect_errno($connection_mysql)){ echo "Connection to MySql failed: " . mysqli_connect_error(); } mysqli_query($connection_mysql,"INSERT INTO Employee (name) VALUES('PHP')"); echo "New record has id: " . mysqli_insert_id($connection_mysql); mysqli_close($connection_mysql); ?>
Output result
New record has id: 0