Előkészített utasítások többszöri végrehajtása PDO-val PHP-ben
Egy előkészített utasítást többször is végrehajthatunk egy adatbázis-lekérdezéshez. Ez erőforrások szempontjából egy kicsit előnyösebb, mintha minden alkalommal elő kellene készíteni.
Tegyük fel például, hogy frissítenünk kell a felhasználók fizetését a táblában.
Tegyük fel, hogy már van egy asszociatív tömbünk,
amelyben a kulcsként a felhasználó
id-ja, értékként pedig
a fizetése van megadva:
<?php
$salaries = [
1 => 200,
3 => 500,
5 => 700,
];
?>
Készítsük elő a lekérdezést egyszer:
<?php
$res = $pdo->prepare('UPDATE users SET salary=? WHERE id=?');
?>
Most egy ciklusban bejárjuk a tömbünket, és minden iterációban végrehajtjuk az előkészített lekérdezést különböző adatokkal a helykitöltők számára:
<?php
foreach ($salaries as $id => $salary) {
$res->execute([$salary, $id]);
}
?>
Adott egy tömb a felhasználók azonosítóival és életkorával:
<?php
$ages = [
1 => 20,
3 => 30,
5 => 40,
];
?>
Írjon kódot, amely egy ciklusban frissíti a felhasználók adatait.