PDO 준비된 문으로 여러 행 삽입
단일 준비된 문을 사용하여 데이터베이스에 여러 데이터 행을 삽입하는 것이 가능합니다. 준비된 문은 SQL 주입 공격을 방지하고 쿼리 실행을 최적화하여 보안과 효율성을 향상시킵니다.
'col1', 'col2' 및 'col3' 열이 있는 'Table'이라는 테이블에 데이터를 삽입하는 다음 예를 고려하십시오. :
$params = array(); $params[':val1'] = "val1"; $params[':val2'] = "val2"; $params[':val3'] = "val3"; $sql = "INSERT INTO table VALUES (col1, col2, col3) VALUES (:val1,:val2,:val3)"; $stmt = DB::getInstance()->prepare($sql); $stmt->execute($params);
여러 행을 삽입해야 하는 경우 다음 접근 방식을 구현할 수 있습니다.
SQL을 결합합니다. 설명: 자리 표시자 템플릿을 INSERT 쿼리에 VALUES 절로 추가합니다. 최종 문은 다음과 같습니다.
INSERT INTO Table (col1, col2, col3) VALUES (?, ?, ?), (?, ?, ?), (?, ?, ?)
준비 및 실행: PDO를 사용하여 확장 문을 준비합니다. 자리 표시자와 동일한 순서로 삽입할 모든 값이 포함된 배열을 전달하여 문을 실행합니다.
$rows = array( array('abc', 'def', 'ghi'), array('abc', 'def', 'ghi'), array('abc', 'def', 'ghi') ); // Your code here as explained in the full response
이 접근 방식의 장점은 모든 값을 준비된 문의 보안 및 최적화 이점을 유지하면서 단일 INSERT 쿼리를 수행합니다.
많은 수의 행이 포함된 시나리오의 경우 루프를 사용하여 한 번에 하나씩 삽입하는 것이 더 효율적일 수 있습니다. 이렇게 하면 성능이 향상되고 잠재적인 메모리 문제가 방지됩니다.
위 내용은 PDO를 사용하여 준비된 단일 명령문을 사용하여 데이터베이스에 여러 데이터 행을 삽입하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!