Vícenásobné provádění připravených příkazů v PDO v PHP
Můžeme provést připravený příkaz pro dotaz do databáze vícekrát. Je to trochu výhodnější z hlediska zdrojů, než jej pokaždé znovu připravovat.
Pro příklad předpokládejme, že potřebujeme provést dotazy na aktualizaci platů uživatelů v tabulce.
Předpokládejme, že již máme asociativní pole,
ve kterém bude jako klíč uvedeno
id uživatele a jako hodnota -
jeho plat:
<?php
$salaries = [
1 => 200,
3 => 500,
5 => 700,
];
?>
Připravíme dotaz jednou:
<?php
$res = $pdo->prepare('UPDATE users SET salary=? WHERE id=?');
?>
A nyní v cyklu budeme procházet naše pole a provádět náš připravený dotaz v každé iteraci s různými daty pro placeholdery:
<?php
foreach ($salaries as $id => $salary) {
$res->execute([$salary, $id]);
}
?>
Je dáno pole s ID a věky uživatelů:
<?php
$ages = [
1 => 20,
3 => 30,
5 => 40,
];
?>
Napište kód, který v cyklu aktualizuje data uživatelů.