PHP에서 교차 테이블 삽입을 위한 마지막 행 ID 검색 및 사용
서로 다른 테이블에서 여러 삽입을 수행할 때 검색이 필요합니다. 후속 삽입에서 참조로 사용하기 위해 한 테이블에서 마지막으로 삽입된 ID입니다. PHP에서 mysqli 확장을 사용하는 경우 이 작업을 수행하려면 약간의 이해가 필요합니다.
제공된 코드에서 $mysqli->insert_id의 결과를 table1 insert 문의 이미지 필드에 직접 바인딩하려고 했습니다. . 그러나 마지막으로 삽입된 ID는 이전 삽입 문에서 가져와야 하므로 이 접근 방식은 올바르지 않습니다.
마지막으로 삽입된 ID를 올바르게 검색하고 사용하려면 먼저 테이블에 자동 증가 필드가 있는지 확인해야 합니다. 일반적으로 ID로 명명됩니다. 이 필드는 새 레코드의 기본 키로 사용할 다음 사용 가능한 정수 값을 추적합니다.
자동 증가 필드가 있으면 mysqli_insert_id($conn) 함수를 사용하여 레코드의 ID를 검색할 수 있습니다. 마지막으로 삽입된 행. 예는 다음과 같습니다.
$username = 'user1'; $fname = 'John'; $lname = 'Doe'; // Insert into table2 $insert = "INSERT INTO table2 (username) VALUES (?)"; if ($stmt = $mysqli->prepare($insert)) { $stmt->bind_param('s', $username); $stmt->execute(); } // Retrieve last inserted ID for image $last_id = mysqli_insert_id($conn); // Insert into table1 $insert = "INSERT INTO table1 (username, firstname, lastname, image) VALUES (?, ?, ?, $last_id)"; if ($stmt = $mysqli->prepare($insert)) { $stmt->bind_param('sss', $username, $fname, $lname); $stmt->execute(); }
이 수정된 코드에서는 먼저 table2에 레코드를 삽입한 다음 mysqli_insert_id($conn)를 사용하여 마지막으로 삽입된 ID를 검색합니다. 그런 다음 이 ID는 table1에 대한 후속 삽입 문의 이미지 필드로 사용됩니다.
위 내용은 PHP에서 크로스 테이블 삽입을 위해 마지막으로 삽입된 ID를 검색하고 사용하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!