Juil
8

Optimiser vos requêtes d’insertion multiple

Author Appo    Category PHP, SQL     Tags

Admettons que vous voulez ajouter une liste d’utilisateurs.

Au lieu de faire une requête INSERT par utilisateur comme ceci

  foreach ($userList as $user) {
  $query = 'INSERT INTO users (first_name,last_name) VALUES("' . $user['first_name'] . '", "' . $user['last_name'] . '")';
  mysql_query($query);
}

Ce qui nous donnera

INSERT INTO users (first_name,last_name) VALUES("John", "Doe");
INSERT INTO users (first_name,last_name) VALUES("Jane", "Doe");
...

Vous pouvez faire ceci

    $userData = [];
foreach ($userList as $user) {
  $userData[] = '("' . $user['first_name'] . '", "' . $user['last_name'] . '")';
}
$query = 'INSERT INTO users (first_name,last_name) VALUES' . implode(',', $iserData);
mysql_query($query);

Au final, on obtient qu’une seule requête INSERT avec autant de VALUES que d’utilisateurs à créer.

INSERT INTO users (first_name,last_name) VALUES("John", "Doe"),("Jane", "Doe")...




Poster un commentaire

Edito

Bienvenue sur Mémorandom.

Mémorandom est le blog de 2 développeurs web, Appo et Nico.

Vous y trouverez des informations sur différents domaines touchant de près ou de loin au développement web

Tutoriels Yii Framework

Nos derniers articles

Blogs Dev

Liens

Étiquettes