Использование такого запроса является хорошей практикой в вашем случае.В любом случае вам придется вставить список пользователей, поэтому вам придется обрабатывать много запросов.Обойти это невозможно!
Понятия не имею, почему вы хотите поместить задержку после каждой вставки.Эти методы являются синхронными вызовами, поэтому ваш код в любом случае будет «приостановлен» во время выполнения вашего запроса.Поэтому задержка будет просто задерживать ваш код, пока ничего не происходит.
Таким образом, ваш цикл не будет продолжаться при выполнении запроса.Так что не откладывайте ваш код нарочно.
Еще один способ сделать это - выполнить один запрос.
$user_data = "";
foreach($classassocusers as $users) {
$user_data .= "('" . $users->userid . "', '" . $users->name . "'), ";
}
$user_data = substr($user_data, 0, strlen($user_data) - 2);
$query = "INSERT INTO `homework.comments` ( `id`, `name` )
VALUES " . $user_data;
Это должно сделать запрос вроде:
INSERT INTO `homework.comments` ( `id`, `name` )
VALUES ('1', 'John'),
('2', 'Jeffrey'),
('3', 'Kate');
(Кстати, я сделал некоторые предположения относительно вашего $users
объекта и структуры вашей таблицы. Но я уверен, что вы поняли идею)