insert_batch()
versucht, genau Ihr Problem zu vermeiden - der Versuch, Daten einzufügen, die größer sind, als MySQL für die gleichzeitige Verarbeitung konfiguriert ist. Ich bin mir nicht sicher, ob MySQLs Option dafür max_allowed_packet
war oder etwas anderes, aber das Problem dabei ist, dass es ein Limit in Bytes und nicht in einer Anzahl von Zeilen setzt.
Wenn Sie DB_active_rec.php, mysql_driver.php oder was auch immer passend bearbeiten ... versuchen Sie, diese 100-Zählung in for()
zu ändern Schleife. 50 sollte eine sicherere Wahl sein.
Abgesehen davon, FYI - affected_rows()
gibt nicht den korrekten Wert zurück, wenn Sie mehr als 100 Zeilen über insert_batch()
einfügen , daher ist es nicht zuverlässig, es als Erfolgs-/Fehlerprüfung zu verwenden. Das liegt an insert_batch()
fügt Ihre Daten um 100 Datensätze gleichzeitig ein, während affected_rows()
würde nur Daten für die letzte Abfrage zurückgeben.