Cập nhật năm 2018:DEV không coi đây là lỗi mà là hành vi có chủ đích. Vì vậy, Người dùng PHP phải sống chung với điều đó, Báo cáo sẽ bị đóng nếu có bất kỳ câu hỏi nào trong tương lai ...
Điều này thường được báo cáo là lỗi với PDO
: https://bugs.php.net/bug.php?id=61613
Nó sẽ chỉ ném ra một ngoại lệ nếu FIRST Tuyên bố không hợp lệ. Nếu câu lệnh đầu tiên chạy trơn tru, bạn sẽ không gặp bất kỳ lỗi nào - Và câu lệnh đầu tiên của bạn hợp lệ:
INSERT INTO `a` (`b`, `c`) VALUES
(1, 1),
(2, 2),
(3, 2);
như một giải pháp thay thế - hoặc theo người dùng đã xóa cách thực hiện đúng - bạn cần xử lý từng bộ hàng một (lấy từ nhận xét báo cáo lỗi):
$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;
}