अपडेट 2018:डीईवी इसे एक बग नहीं, बल्कि इच्छित व्यवहार मानते हैं। इसलिए, PHP-उपयोगकर्ताओं को इसके साथ रहना होगा, भविष्य के किसी भी प्रश्न के लिए रिपोर्ट बंद है...
इसे अक्सर PDO
. के साथ बग के रूप में रिपोर्ट किया गया है :https://bugs.php.net/bug.php?id=61613ए>
यह केवल तभी अपवाद देगा जब पहला कथन अमान्य है। यदि पहला कथन सुचारू रूप से चलता है, तो आपको कोई त्रुटि नहीं मिलेगी - और आपका पहला कथन मान्य है:
INSERT INTO `a` (`b`, `c`) VALUES
(1, 1),
(2, 2),
(3, 2);
समाधान के रूप में - या उपयोगकर्ता हटाए गए . के अनुसार इसे करने का सही तरीका - आपको पंक्तियों को एक-एक करके संसाधित करने की आवश्यकता है (बग रिपोर्ट टिप्पणियों से लिया गया):
$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;
}