insert_batch()
próbuje uniknąć dokładnie Twojego problemu - próbując wstawić dane większe niż MySQL skonfigurowany do przetwarzania na raz. Nie jestem pewien, czy opcją MySQL do tego było max_allowed_packet
lub coś innego, ale problem polega na tym, że ustawia limit w bajtach, a nie w liczbie wierszy.
Jeśli będziesz edytować DB_active_rec.php, mysql_driver.php lub cokolwiek innego ... spróbuj zmienić liczbę 100 w for()
pętla. 50 powinno być bezpieczniejszym wyborem.
Poza tym, FYI - affected_rows()
nie zwróci prawidłowej wartości, jeśli wstawiasz więcej niż 100 wierszy za pomocą insert_batch()
, więc używanie go jako sprawdzania sukcesu/błędu nie jest niezawodne. To dlatego, że insert_batch()
wstawia dane po 100 rekordów na raz, podczas gdy affected_rows()
zwróci dane tylko dla ostatniego zapytania.