insert_batch() se snaží vyhnout přesně vašemu problému - snaží se vložit data větší, než je nakonfigurováno pro zpracování MySQL najednou. Nejsem si jistý, zda možnost MySQL pro to byla max_allowed_packet nebo něco jiného, ale problém je v tom, že nastavuje limit v bajtech a ne v počtu řádků.
Pokud budete upravovat DB_active_rec.php, mysql_driver.php nebo cokoli jiného, zkuste změnit tento počet 100 v for() smyčka. 50 by měla být bezpečnější volba.
Kromě toho, FYI - affected_rows() nevrátí správnou hodnotu, pokud vkládáte více než 100 řádků pomocí insert_batch() , takže není spolehlivé jej použít jako kontrolu úspěchu/chyby. Je to proto, že insert_batch() vloží vaše data po 100 záznamech najednou, zatímco affected_rows() vrátí data pouze pro poslední dotaz.