Opdatering 2018:DEV'er betragter ikke dette som en fejl, men tilsigtet adfærd. Så PHP-brugere må leve med det. Rapporten er lukket for fremtidige spørgsmål...
Dette er ofte blevet rapporteret som fejl med PDO
:https://bugs.php.net/bug.php?id=61613
Det vil kun give en undtagelse, hvis FØRSTE Erklæringen er ugyldig. Hvis den første sætning kører glat, får du ingen fejl - Og din første sætning er gyldig:
INSERT INTO `a` (`b`, `c`) VALUES
(1, 1),
(2, 2),
(3, 2);
som en løsning - eller ifølge bruger slettet den rigtige måde at gøre det på - du skal behandle rækkesættene én efter én (taget fra fejlrapportens kommentarer):
$pdo->beginTransaction();
try {
$statement = $pdo->prepare($sql);
$statement->execute();
while ($statement->nextRowset()) {/* https://bugs.php.net/bug.php?id=61613 */};
$pdo->commit();
} catch (\PDOException $e) {
$pdo->rollBack();
throw $e;
}