Meerdere keren uitvoeren van voorbereide statements in PDO in PHP
We kunnen een voorbereid statement voor een databasequery meerdere keren uitvoeren. Dit is iets efficiënter qua bronnen dan het elke keer opnieuw voorbereiden.
Stel dat we bijvoorbeeld queries moeten uitvoeren om de salarissen van gebruikers in een tabel bij te werken.
Stel dat we al een associatieve array hebben,
waarin als sleutel het
id van de gebruiker staat, en als waarde -
zijn salaris:
<?php
$salaries = [
1 => 200,
3 => 500,
5 => 700,
];
?>
Laten we de query één keer voorbereiden:
<?php
$res = $pdo->prepare('UPDATE users SET salary=? WHERE id=?');
?>
En nu zullen we in een lus door onze array itereren en onze voorbereide query in elke iteratie uitvoeren met verschillende gegevens voor de placeholders:
<?php
foreach ($salaries as $id => $salary) {
$res->execute([$salary, $id]);
}
?>
Gegeven een array met gebruikers-ID's en leeftijden:
<?php
$ages = [
1 => 20,
3 => 30,
5 => 40,
];
?>
Schrijf code die in een lus de gebruikersgegevens bijwerkt.