このクエリを参照してください。これにより、コードと速度が向上します。
ループ内でSQLクエリを実行することは避けてください
よくある間違いは、SQLクエリをループ内に配置することです。これにより、データベースへの複数のラウンドトリップが発生し、スクリプトが大幅に遅くなります。以下の例では、ループを変更して単一のSQLクエリを作成し、すべてのユーザーを一度に挿入できます。
foreach ($userList as $user) {
$query = 'INSERT INTO users (first_name,last_name) VALUES("' . $user['first_name'] . '", "' . $user['last_name'] . '")';
mysql_query($query);
}
ループを使用する代わりに、データを1つのデータベースクエリに結合できます。
$userData = array();
foreach ($userList as $user) {
$userData[] = '("' . $user['first_name'] . '", "' . $user['last_name'] . '")';
}
$query = 'INSERT INTO users (first_name,last_name) VALUES' . implode(',', $userData);
mysql_query($query);