제공된 코드에서는 매개변수 불일치로 인해 다중 삽입 쿼리 실행 시 오류가 발생합니다. 삽입되는 값과 쿼리에 예상되는 매개변수 수.
코드는 일치 항목 수($matches)를 기반으로 자리 표시자($values) 배열을 생성합니다. 그러나 $values 배열에 이미 콘텐츠가 있는 경우 개수 불일치로 인해 오류가 발생할 수 있습니다.
이 문제를 해결하려면:
$values 배열을 사용하기 전에 항상 빈 상태로 초기화하세요. 루프.
$values = [];
$matches = array('1'); $count = count($matches); $values = []; for($i = 0; $i < $count; ++$i) { $values[] = '(?)'; } $sql = "INSERT INTO hashes (hash) VALUES " . implode(', ', $values) . " ON DUPLICATE KEY UPDATE hash=values(hash)"; $stmt = $dbh->prepare($sql); $data = $stmt->execute($matches);
이러한 변경 사항을 구현하면 매개변수 불일치 없이 코드가 성공적으로 실행되어야 합니다. 오류가 발생했습니다.
위 내용은 MySQL 다중 INSERT 쿼리에서 '잘못된 매개변수 번호' 오류를 수정하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!