(Aktualizacja do odpowiedzi )
Wygląda na to, że ten błąd , który jest nadal otwarty po prawie pięciu latach; spróbuj zamiast tego:
while (true) {
try {
$row = $qry_bat->fetch(PDO::FETCH_ASSOC);
if (!$row) break;
$ins_db->execute(array(...));
$newOnes++;
}
catch (PDOException $e) {
if ($e->getCode() != 23000) {
echo '<span class="msg-alert">'.$e->getMessage().'</span>';
} else {
$doublons++;
}
}
}