Višestruko izvršenje pripremljenih izraza u PDO-u u PHP-u
Možemo da izvršavamo pripremljeni izraz za upit ka bazi podataka više puta. Ovo je malo efikasnije po resursima, nego da ga pripremamo svaki put iznova.
Neka za primer treba da napravimo upite za ažuriranje plata korisnika u tabeli.
Neka već imamo asocijativni niz,
u kome će kao ključ biti naveden
id korisnika, a kao vrednost -
njegova plata:
<?php
$salaries = [
1 => 200,
3 => 500,
5 => 700,
];
?>
Pripremimo upit jednom:
<?php
$res = $pdo->prepare('UPDATE users SET salary=? WHERE id=?');
?>
A sada u petlji ćemo prolaziti kroz naš niz i izvršavati naš pripremljeni upit u svakoj iteraciji sa različitim podacima za plejsholdere:
<?php
foreach ($salaries as $id => $salary) {
$res->execute([$salary, $id]);
}
?>
Dat je niz sa ID-jevima i godinama starosti korisnika:
<?php
$ages = [
1 => 20,
3 => 30,
5 => 40,
];
?>
Napišite kod koji će u petlji ažurirati podatke korisnika.