此外,您还需要准备语句,使用它,然后在循环的每个步骤中关闭它。那是浪费了很多精力。
准备一次,用于循环,然后在结束时关闭。
$event_notification = mysqli_prepare($conn, "INSERT INTO user_notifications (notification_sent_by, notification_sent_to, notification_message, notification_time, notification_status, notification_category, notification_category_id) VALUES(?,?,?,now(),?,?,?)");
foreach($datas as $data) {
$id_cliente = $data[\'user_join_id\'];
mysqli_stmt_bind_param($event_notification, \'iisisi\', $userid, $id_cliente, $notification, $notification_status, $notification_category, $event_id);
mysqli_stmt_execute($event_notification);
}
mysqli_stmt_close($event_notification);
我希望这会快得多。
我不是mysqli的专家,也不擅长编写语句,但我非常确信您可以将所有数据绑定到一个巨大的数组中,并在一次点击中完成感兴趣的操作。
This SO answer 无论如何,这对我来说是个暗示。考虑到您已经构建了大阵列,您应该能够在没有foreach
把它拆开。这可能更快。