Я пытаюсь импортировать данные excel в базу данных mysql методом PHP Ajax. Когда пользователь загружает excel, jQuery будет извлекать каждую строку за циклом и отправлять ее в PHP через ajax, но есть около 500++ строк. Из-за этого PHP одновременно выполняет запрос и вызывает ошибку базы данных already has more than 'max_user_connections' active connections. Некоторые запросы работают, а некоторые нет.

php
-1
Leon 26 Янв 2022 в 12:19

1 ответ

Лучший ответ

jQuery будет извлекать каждую строку по циклу и отправлять ее в PHP через ajax.

... это конструктивный недостаток. Если вы попытаетесь сгенерировать 500 запросов AJAX за короткий промежуток времени, из-за его асинхронной природы неизбежно, что многие из них будут перекрываться и перегружать сервер и базу данных... но я думаю, вы уже поняли это, начиная с ваше описание.

То есть вы особо не задавали вопрос, а просто ищете альтернативные варианты реализации?

Было бы разумнее либо

  1. просто загрузите весь файл как есть и дайте серверному коду обработать его.

Или же

  1. Если вы должны прочитать его на стороне клиента, вы должны по крайней мере отправить все строки в одном запросе AJAX (например, в виде массива JSON или чего-то еще).
2
ADyson 26 Янв 2022 в 12:28