Mehrfache Ausführung von vorbereiteten Statements in PDO in PHP
Wir können ein vorbereitetes Statement für eine Datenbankabfrage mehrmals ausführen. Dies ist etwas ressourcenschonender, als es jedes Mal neu vorzubereiten.
Nehmen wir zum Beispiel an, wir müssen Abfragen zur Aktualisierung der Gehälter der Benutzer in der Tabelle durchführen.
Nehmen wir an, wir haben bereits ein assoziatives Array,
in dem als Schlüssel die
id des Benutzers angegeben ist und als Wert -
sein Gehalt:
<?php
$salaries = [
1 => 200,
3 => 500,
5 => 700,
];
?>
Bereiten wir die Abfrage einmal vor:
<?php
$res = $pdo->prepare('UPDATE users SET salary=? WHERE id=?');
?>
Und jetzt durchlaufen wir in einer Schleife unser Array und führen unser vorbereitetes Statement in jeder Iteration mit verschiedenen Daten für die Platzhalter aus:
<?php
foreach ($salaries as $id => $salary) {
$res->execute([$salary, $id]);
}
?>
Gegeben ist ein Array mit IDs und Altersangaben der User:
<?php
$ages = [
1 => 20,
3 => 30,
5 => 40,
];
?>
Schreiben Sie Code, der in einer Schleife die Benutzerdaten aktualisiert.