insert_batch()
cố gắng tránh chính xác sự cố của bạn - cố gắng chèn dữ liệu lớn hơn MySQL được định cấu hình để xử lý tại một thời điểm. Tôi không chắc liệu tùy chọn của MySQL cho điều đó có phải là max_allowed_packet
hay không hoặc cái gì đó khác, nhưng vấn đề với nó là nó đặt giới hạn theo byte chứ không phải số hàng.
Nếu bạn đang chỉnh sửa DB_active_rec.php, mysql_driver.php hoặc bất kỳ thứ gì thích hợp ... hãy thử thay đổi số lượng 100 đó trong for()
vòng. 50 nên là một lựa chọn an toàn hơn.
Ngoài ra, FYI - affected_rows()
sẽ không trả về giá trị chính xác nếu bạn đang chèn hơn 100 hàng qua insert_batch()
, vì vậy không đáng tin cậy để sử dụng nó như một kiểm tra thành công / lỗi. Đó là bởi vì insert_batch()
chèn dữ liệu của bạn 100 bản ghi cùng một lúc, trong khi affected_rows()
sẽ chỉ trả về dữ liệu cho truy vấn cuối cùng.