Viacnásobné vykonávanie prípravených výrazov v PDO v PHP
Môžeme vykonať prípravený výraz pre dopyt do databázy viackrát. Je to trochu výhodnejšie z hľadiska zdrojov, ako pripravovať ho zakaždým znova.
Napríklad, povedzme, že potrebujeme vykonať dopyty na aktualizáciu platov používateľov v tabuľke.
Povedzme, že už máme asociatívne pole,
v ktorom bude ako kľúč uvedené
id používateľa, a ako hodnota -
jeho plat:
<?php
$salaries = [
1 => 200,
3 => 500,
5 => 700,
];
?>
Pripravíme dopyt raz:
<?php
$res = $pdo->prepare('UPDATE users SET salary=? WHERE id=?');
?>
A teraz v cykle budeme prechádzať naše pole a vykonávať náš pripravený dopyt v každej iterácii s rôznymi dátami pre placeholdery:
<?php
foreach ($salaries as $id => $salary) {
$res->execute([$salary, $id]);
}
?>
Dané pole s ID a vekmi používateľov:
<?php
$ages = [
1 => 20,
3 => 30,
5 => 40,
];
?>
Napíšte kód, ktorý v cykle aktualizuje dáta používateľov.