English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

PHP 기본 튜토리얼

PHP 고급 튜토리얼

PHP & MySQL

PHP 참조 매뉴얼

PHP MySQL 마지막 삽입된 ID

이 튜토리얼에서는 PHP를 사용하여 MySQL 데이터베이스 테이블에서 최근 삽입된 행의 유일한 ID를 검색하는 방법을 배울 것입니다.

최근 삽입된 행의 ID를 얻는 방법

PHP MySQL 삽입단장에서 알지 못했지만, AUTO_INCREMENT는 새로운 레코드나 행을 테이블에 삽입할 때마다 MySQL이 해당 열에 유일한 ID를 자동으로 생성합니다. 그러나, 특정 경우에서는 두 번째 테이블에 삽입할 수 있는 자동으로 생성된 ID가 필요할 수 있습니다. 이러한 경우에는 PHP mysqli_insert_id() 함수를 사용하여 최근 생성된 ID를 검색할 수 있습니다. 아래 예제와 같이 사용할 수 있습니다.

이 예제에서는,PHP MySQL 테이블 생성단장에서 생성된 동일한개인표는 네 열을 가지고 있습니다.id،first_name،last_name하고email중에서idAUTO_INCREMENT 표시가 있는 주키 열입니다.

예제: 절차적 방식

<?php
/* MySQL 서버 연결 시도. MySQL을 실행하고 있는 것으로 가정합니다.
기본 설정의 서버(암호가 없는 사용자 "root")*/
$link = mysqli_connect("localhost",  "root",  "",  "demo");
 
//연결 확인
if($link ===  false){
    die("에러: 연결할 수 없습니다. 	" . mysqli_connect_error());
}
 
//삽입 쿼리 실행 시도
$sql = \
if(mysqli_query($link, 	$sql)){
    //마지막으로 삽입된 ID를 가져옵니다
    
    echo \

    echo \
}
 
//연결을 닫습니다
mysqli_close($link);
?>

예제: 객체 지향 방식

<?php
/* MySQL 서버 연결 시도. MySQL을 실행하고 있는 것으로 가정합니다.
기본 설정의 서버(암호가 없는 사용자 "root")*/
$mysqli = new mysqli("localhost", "root", "", "demo");
 
//연결 확인
if($mysqli === false){
    die("에러: 연결할 수 없습니다. ". $mysqli->connect_error);
}
 
// 삽입 쿼리 실행 시도
$sql = \
if($mysqli->query($sql) === true){
    //마지막으로 삽입된 ID를 가져옵니다
    $last_id = $mysqli->insert_id;
    echo \

    echo \->error;
}
 
//연결을 닫습니다
$mysqli->close();
?>

예제: PDO 방식

<?php
/* MySQL 서버 연결 시도. MySQL을 실행하고 있는 것으로 가정합니다.
기본 설정의 서버(암호가 없는 사용자 "root")*/
try{
    $pdo = new PDO("mysql:host=localhost;dbname=demo", "root", \
    //PDO 오류 모드를 예외로 설정합니다
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e){
    die("에러: 연결할 수 없습니다. ". $e->getMessage());
}
 
//삽입 쿼리 실행 시도
try{
    $sql = \    
    $pdo->exec($sql);
    $last_id = $pdo-
    echo \
} catch(PDOException $e){
    die("에러: 실행할 수 없습니다 $sql. ". $e->getMessage());
}
 
//연결을 닫습니다
unset($pdo);
?>