Exécution multiple d'expressions préparées avec PDO en PHP
Nous pouvons exécuter une expression préparée pour une requête à la base de données plusieurs fois. C'est légèrement plus avantageux en termes de ressources que de la préparer à nouveau à chaque fois.
Supposons par exemple que nous devions effectuer des requêtes de mise à jour des salaires des utilisateurs dans une table.
Supposons que nous ayons déjà un tableau associatif,
dans lequel la clé indique
l'id de l'utilisateur, et la valeur -
son salaire :
<?php
$salaries = [
1 => 200,
3 => 500,
5 => 700,
];
?>
Préparons la requête une seule fois :
<?php
$res = $pdo->prepare('UPDATE users SET salary=? WHERE id=?');
?>
Et maintenant, dans une boucle, nous allons parcourir notre tableau et exécuter notre requête préparée à chaque itération avec différentes données pour les paramètres fictifs :
<?php
foreach ($salaries as $id => $salary) {
$res->execute([$salary, $id]);
}
?>
Étant donné un tableau avec les identifiants et les âges des utilisateurs :
<?php
$ages = [
1 => 20,
3 => 30,
5 => 40,
];
?>
Écrivez un code qui mettra à jour les données des utilisateurs dans une boucle.