insert_batch()
essaie d'éviter exactement votre problème - en essayant d'insérer des données plus volumineuses que MySQL n'est configuré pour traiter à la fois. Je ne sais pas si l'option de MySQL pour cela était max_allowed_packet
ou autre chose, mais le problème est qu'il fixe une limite en octets et non un nombre de lignes.
Si vous allez éditer DB_active_rec.php, mysql_driver.php ou tout ce qui est approprié ... essayez de changer ce nombre de 100 dans le for()
boucle. 50 devrait être un choix plus sûr.
Autre que cela, FYI - affected_rows()
ne renverra pas la valeur correcte si vous insérez plus de 100 lignes via insert_batch()
, il n'est donc pas fiable de l'utiliser comme test de réussite/d'erreur. C'est parce que insert_batch()
insère vos données par 100 enregistrements à la fois, tandis que affected_rows()
renverrait uniquement les données de la dernière requête.