Executarea multiplă a expresiilor pregătite în PDO în PHP
Putem executa o expresie pregătită pentru interogarea bazei de date de mai multe ori. Aceasta este puțin mai eficientă din punct de vedere al resurselor decât pregătirea ei de fiecare dată din nou.
Să presupunem, de exemplu, că trebuie să facem interogări pentru actualizarea salariilor utilizatorilor într-un tabel.
Să presupunem că avem deja un tablou asociativ,
în care ca cheie este indicat
id-ul utilizatorului, iar ca valoare -
salariul său:
<?php
$salaries = [
1 => 200,
3 => 500,
5 => 700,
];
?>
Să pregătim interogarea o singură dată:
<?php
$res = $pdo->prepare('UPDATE users SET salary=? WHERE id=?');
?>
Și acum într-o buclă vom parcurge tabloul nostru și vom executa interogarea noastră pregătită în fiecare iterație cu diferite date pentru placeholderi:
<?php
foreach ($salaries as $id => $salary) {
$res->execute([$salary, $id]);
}
?>
Este dat un tablou cu id-uri și vârstele utilizatorilor:
<?php
$ages = [
1 => 20,
3 => 30,
5 => 40,
];
?>
Scrieți cod care într-o buclă va actualiza datele utilizatorilor.