INSERT 문은 데이터베이스 테이블에 새 레코드를 삽입하는 데 사용됩니다. 컬럼 이름과 값을 지정하면 데이터 삽입이 완료됩니다.
$sql = "INSERT INTO 테이블_이름(열1, 열2, ...) VALUES(값1, 값2, ...)";
매개변수화된 쿼리를 사용하면 SQL 주입 공격을 효과적으로 방지할 수 있습니다. 매개변수를 자리 표시자에 바인딩하여 사용자 입력을 쿼리 문자열에 직접 연결하지 마세요.
$stmt = $conn->prepare("테이블 이름에 삽입(열1, 열2) VALUES(?, ?)");
$stmt->bind_param("ss", $value1, $value2);INSERT...SELECT 문을 사용하여 다른 테이블의 데이터를 대량 삽입합니다.
$sql = "테이블1에 삽입(열1, 열2) SELECT 열1, 열2 FROM 테이블2";
자동으로 생성된 ID는 후속 작업을 용이하게 하기 위해 LAST_INSERT_ID() 함수 또는 $conn->insert_id를 통해 얻을 수 있습니다.
$id = $conn->insert_id;
트랜잭션은 일련의 데이터베이스 작업이 모두 성공하거나 모두 롤백되지 않도록 합니다. 일반적으로 사용되는 함수에는 Begin_transaction(), commit() 및 Rollback()이 있습니다.
mysqli_error() 함수를 사용하여 데이터베이스 작업 중에 발생하는 오류를 캡처하고 처리합니다.
if ($stmt->execute()) {
//실행 성공} else {
echo "오류: " . $stmt->오류;
}