Esecuzione multipla di istruzioni preparate in PDO in PHP
Possiamo eseguire un'istruzione preparata per una query al database più volte. Questo è leggermente più vantaggioso in termini di risorse rispetto a prepararla ogni volta da zero.
Supponiamo, ad esempio, di dover eseguire query per aggiornare gli stipendi degli utenti in una tabella.
Supponiamo di avere già un array associativo,
in cui come chiave è specificato
id dell'utente, e come valore -
il suo stipendio:
<?php
$salaries = [
1 => 200,
3 => 500,
5 => 700,
];
?>
Prepariamo la query una volta:
<?php
$res = $pdo->prepare('UPDATE users SET salary=? WHERE id=?');
?>
Ora in un ciclo iteriamo attraverso il nostro array ed eseguiamo la nostra query preparata in ogni iterazione con dati diversi per i segnaposto:
<?php
foreach ($salaries as $id => $salary) {
$res->execute([$salary, $id]);
}
?>
Dato un array con gli ID e le età degli utenti:
<?php
$ages = [
1 => 20,
3 => 30,
5 => 40,
];
?>
Scrivi il codice che in un ciclo aggiornerà i dati degli utenti.