PHP를 사용하여 데이터베이스를 작동 할 때는 종종 데이터를 삽입 한 후 레코드의 고유 식별 ID를 얻어야합니다. 이는 후속 데이터 참조 및 비즈니스 로직 처리에 중요합니다. 이 기사는 PHP 및 MySQL을 통해이 요구 사항을 안전하고 효율적으로 달성하는 방법을 소개합니다.
데이터베이스에 새 데이터를 삽입 할 때는 일반적으로 데이터의 기본 키 ID를 얻어야합니다. MySQL은 fort last_insert_id () 함수를 제공하고 PHP에서는 ID 획득을 달성하기 위해 MySQLI 또는 PDO의 관련 방법을 통해 호출 할 수 있습니다.
// 데이터베이스 연결 $ conn = new MySQli ( "localhost", "username", "password", "database"); // 연결을 확인합니다. 다이 ( "연결 실패 :". $ conn-> connect_error); } // SQL 문 $ sql = "사용자에 삽입 (이름, 이메일) 값 ( 'John Doe', 'john@example.com')"; // INSERT IF ($ conn-> query ($ sql) === true) { // 삽입 된 데이터의 ID를 가져옵니다 $ last_id = $ conn-> insert_id; Echo "새 레코드의 ID는 다음과 같습니다.". $ last_id; } 또 다른 { 에코 "오류 삽입 :". $ conn-> 오류; } // 연결을 닫습니다 $ conn-> close ();
코드는 먼저 MySQLI를 통해 데이터베이스 연결을 설정 한 다음 삽입 문을 실행합니다. 삽입이 성공한 후 $ conn-> insert_id 속성을 사용하여 새로 삽입 된 레코드의 자동 증가 ID를 얻으십시오. 작업을 완료 한 후에는 자원을 해제하기 위해 연결을 정시에 닫아야합니다.
데이터 테이블의 자동 증가 기본 키 필드가 존재하며 ID를 성공적으로 얻기 전에 올바르게 구성되어 있는지 확인하십시오. 코드의 견고성을 향상시키기 위해 데이터베이스 연결 또는 실행 오류를 캡처하고 처리해야합니다. 또한 SQL 주입 위험을 방지하기 위해 전처리 명세서를 사용하는 것이 좋습니다.
// 데이터베이스 연결 $ conn = new MySQli ( "localhost", "username", "password", "database"); // 연결을 확인합니다. 다이 ( "연결 실패 :". $ conn-> connect_error); } // 전처리 명세서 $ stmt = $ conn-> 준비 ( "사용자 (이름, 이메일) 값 (?,?)"); $ stmt-> bind_param ( "ss", $ name, $ email); // 매개 변수를 설정하고 $ name = 'John Doe'; $ email = 'john@example.com'; $ stmt-> execute (); // 삽입 된 데이터의 ID를 가져옵니다 $ last_id = $ stmt-> insert_id; Echo "새 레코드의 ID는 다음과 같습니다.". $ last_id; // 연결을 닫습니다 $ stmt-> close (); $ conn-> close ();
PHP 프로젝트에서 데이터를 삽입하고 해당 자체 증가 ID를 시간에 얻는 것은 매우 실용적인 작업입니다. MySQLI 또는 PDO의 올바른 사용은 개발 프로세스를 단순화 할뿐만 아니라 애플리케이션의 보안 및 성능을 향상시킵니다. SQL 주입을 방지하고 안전하고 안정적인 데이터 운영을 보장하기 위해 실제 개발에서 전처리 문을 결합하는 것이 좋습니다.
이 기사에 도입 된 기술 세부 사항과 모범 사례를 마스터하면 PHP 데이터베이스 개발이보다 전문적이고 효율적으로 만들 수 있습니다.