Paruoštų išraiškų daugkartinis vykdymas PDO PHP
Mes galime vykdyti paruoštą išraišką duomenų bazės užklausai kelis kartus. Tai šiek tiek naudingiau resursų atžvilgiu, nei kaskart ją paruošti iš naujo.
Tarkime, pavyzdžiui, mums reikia atlikti užklausas vartotojų atlyginimų atnaujinimui lentelėje.
Tarkime, jau turime asociatyvų masyvą,
kuriame kaip raktas bus nurodytas
id vartotojo, o kaip reikšmė -
jo atlyginimas:
<?php
$salaries = [
1 => 200,
3 => 500,
5 => 700,
];
?>
Paruoškime užklausą vieną kartą:
<?php
$res = $pdo->prepare('UPDATE users SET salary=? WHERE id=?');
?>
O dabar cikle iteruosime per mūsų masyvą ir vykdysime mūsų paruoštą užklausą kiekvienoje iteracijoje su skirtingais duomenis vietos žymekliams:
<?php
foreach ($salaries as $id => $salary) {
$res->execute([$salary, $id]);
}
?>
Duotas masyvą su vartotojų ID ir amžiumi:
<?php
$ages = [
1 => 20,
3 => 30,
5 => 40,
];
?>
Parašykite kodą, kuris cikle atnaujins vartotojų duomenis.