Upprepad exekvering av förberedda uttryck i PDO i PHP
Vi kan exekvera ett förberett uttryck för en databasfråga flera gånger. Detta är något fördelaktigare resursmässigt än att förbereda det på nytt varje gång.
Låt oss som exempel anta att vi behöver göra förfrågningar för att uppdatera användarlöner i tabellen.
Låt oss anta att vi redan har en associativ array,
där nyckeln anger
id för användaren, och värdet -
är hans/hennes lön:
<?php
$salaries = [
1 => 200,
3 => 500,
5 => 700,
];
?>
Låt oss förbereda frågan en gång:
<?php
$res = $pdo->prepare('UPDATE users SET salary=? WHERE id=?');
?>
Och nu i en loop kommer vi att iterera genom vår array och exekvera vår förberedda fråga i varje iteration med olika data för platshållarna:
<?php
foreach ($salaries as $id => $salary) {
$res->execute([$salary, $id]);
}
?>
Given en array med användar-ID:n och åldrar:
<?php
$ages = [
1 => 20,
3 => 30,
5 => 40,
];
?>
Skriv kod som i en loop uppdaterar användardata.