MySQLi에서 단일 준비된 명령문으로 여러 행 삽입
문제:
여러 행 삽입 준비된 문을 사용하여 행을 데이터베이스에 추가하면 각 행에 대해 별도의 쿼리가 필요하지 않습니다.
해결책:
준비된 문은 일반적으로 단일 행 작업을 처리하지만 가능합니다. 특수 쿼리 구문 및 방법을 사용하여 여러 행을 삽입합니다.
접근 방식:
코드 예:
<code class="php">$rows = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]; $rowCount = count($rows); $values = "(&" . implode('),(', array_fill(0, $rowCount, '?,?,?')) . "&)"; $stmt = $conn->prepare("INSERT INTO test (col1, col2, col3) VALUES $values"); $stmt->bind_param(str_repeat('i', $rowCount * 3), ...array_merge(...$rows)); $stmt->execute();</code>
대체 접근 방식:
단일 행으로 준비된 문을 사용하는 것도 허용됩니다. 자리 표시자를 추가하고 각 행에 대해 루프에서 실행합니다. 이는 더 간단하지만 잠재적으로 효율성이 떨어집니다.
위 내용은 MySQLi에서 단일 준비된 명령문으로 여러 행을 삽입하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!