PHP MySQLi 함수를 사용하여 마지막으로 삽입된 ID 가져오기

Preet Sanghavi 2023년6월20일
  1. PHP mysqli() 함수
  2. PHP mysqli() 함수를 사용하여 마지막으로 삽입된 ID 가져오기
PHP MySQLi 함수를 사용하여 마지막으로 삽입된 ID 가져오기

이 튜토리얼은 PHP mysqli() 함수를 간략하게 소개하고 이를 사용하여 MySQL 데이터베이스에서 마지막으로 삽입된 id를 가져오는 방법을 보여줍니다.

PHP mysqli() 함수

이것은 mysqli라는 MySQL 드라이버 확장 버전으로, 종종 MySQL 데이터베이스 또는 스키마와 연결하기 위해 PHP 서버 측 스크립팅과 함께 사용됩니다.

시작하려면 먼저 MySQL 데이터베이스에 연결해야 합니다. connect() 또는 mysqli_connect() 함수는 MySQL 서버에 대한 연결을 여는 데 사용됩니다.

함수를 사용하기 전에 MySQL 서버에 대한 매개변수가 포함된 mysqli() 객체를 생성해야 합니다.

    <?php
        $mysqli = new mysqli(
                            "host_name",
                            "username",
                            "password",
                            "database_name",
                            "port",
                            "socket"
                  );

        //Checking connection
        if ($mysqli -> connect_errno){
            echo "Something went wrong. Failed to connect with MySQL database".
                $mysqli -> connection_error;
            exit();
        }
        else{
             echo "Connected";
        }
?>

위의 코드는 연결이 설정되지 않은 경우 사용자에게 알립니다. 그렇지 않으면 브라우저 화면에 연결됨이 인쇄됩니다.

매개변수 설명

모수 설명
host_name 호스트 이름(예: localhost) 또는 IP 주소를 지정합니다.
username MySQL 데이터베이스의 사용자 이름을 지정하십시오.
password MySQL 데이터베이스의 비밀번호를 지정하십시오.
database_name MySQL 데이터베이스에서 연결하려는 데이터베이스 또는 스키마의 이름을 제공하십시오.
port MySQL 서버에 연결하는 데 사용됩니다.
socket 소켓 또는 명명된 파이프를 지정합니다.

PHP mysqli() 함수를 사용하여 마지막으로 삽입된 ID 가져오기

이 작업을 수행하려면 AUTO_INCREMENT 필드가 있는 테이블을 생성해야 합니다. 이 필드는 마지막으로 삽입된 id 레코드를 반환합니다.

AUTO_INCREMENT가 있는 이유는 무엇입니까? 새 레코드가 테이블에 삽입될 때마다 자동 증분을 통해 고유 번호가 자동으로 생성됩니다.

새 레코드가 삽입될 때마다 자동으로 생성하려는 기본 키 필드인 경우가 많습니다. AUTO_INCREMENT 열을 생성하는 방법을 알아보려면 다음 코드를 참조하십시오.

CREATE TABLE table_name(
    column_name1 INT AUTO_INCREMENT PRIMARY KEY,
    column_name2 VARCHAR(100)
);

INT 열은 정수 값을 저장하고 AUTO_INCREMENT 는 새 레코드가 삽입될 때마다 자동으로 열 값을 증가시킵니다. 마지막으로 PRIMARY KEY는 제약 조건을 설정하여 열에 고유한 값만 허용합니다.

두 번째 열은 문자열 값을 허용할 수 있는 VARCHAR 유형입니다. 마지막으로 삽입된 id를 가져오기 위해 mysqli()insert_id 명령을 제공합니다. 아래에서 확인하십시오.

$mysql->insert_id;

작동 중인 이 명령을 보려면 먼저 INSERT 쿼리를 실행한 다음 insert_id 명령을 실행하여 마지막으로 삽입된 id를 확인하십시오.

<?php
    $mysqli = new mysqli(
                         "host_name",
                         "username",
                         "password",
                         "database_name",
                         "port",
                         "socket"
              );

        // Checking connection
       if ($mysqli -> connect_errno){
           echo "Something went wrong. Failed to connect with MySQL database".
               $mysqli -> connection_error;
           exit();
       }else{
           echo "Connected";
       }

       $sql_query = "INSERT INTO table_name (column_name2) VALUES ('value_2')";

       if ($mysqli->query($sql_query) === TRUE) {
           printf("Last inserted record ID %d. \n", $mysqli->insert_id);
       } else {
         echo "Error: ". $sql_query . "<br>" . $mysqli->error;
       }
?>

위의 코드에서 $mysqli -> query() 함수는 선택한 데이터베이스에 대해 주어진 쿼리를 실행합니다. 반환된 값을 비교합니다.

TRUE인 경우 printf() 함수를 사용하여 형식화된 문자열을 출력합니다. 그렇지 않으면 $mysqli -> error를 사용하여 오류를 인쇄합니다.

printf() 함수에 제공한 매개변수는 제공한 원래 문자열의 % 기호 뒤에 삽입됩니다. 그리고 %d 기호는 삽입될 값이 Signed 십진수(음수, 양수 또는 0)임을 의미합니다.

Preet Sanghavi avatar Preet Sanghavi avatar

Preet writes his thoughts about programming in a simplified manner to help others learn better. With thorough research, his articles offer descriptive and easy to understand solutions.

LinkedIn GitHub

관련 문장 - MySQL Function