insert_batch() mencoba untuk menghindari masalah Anda - mencoba memasukkan data yang lebih besar dari MySQL yang dikonfigurasi untuk diproses pada suatu waktu. Saya tidak yakin apakah opsi MySQL untuk itu adalah max_allowed_packet atau yang lainnya, tetapi masalahnya adalah ia menetapkan batas dalam byte dan bukan jumlah baris.
Jika Anda akan mengedit DB_active_rec.php, mysql_driver.php atau apa pun yang sesuai ... coba ubah 100 hitungan itu di for() lingkaran. 50 seharusnya menjadi pilihan yang lebih aman.
Selain itu, FYI - affected_rows() tidak akan mengembalikan nilai yang benar jika Anda memasukkan lebih dari 100 baris melalui insert_batch() , jadi tidak dapat diandalkan untuk menggunakannya sebagai pemeriksaan sukses/kesalahan. Itu karena insert_batch() menyisipkan data Anda sebanyak 100 catatan sekaligus, sementara affected_rows() hanya akan mengembalikan data untuk kueri terakhir.