Gentagne udførelser af forberedte udtryk i PDO i PHP
Vi kan udføre et forberedt udtryk til databaseforespørgsel flere gange. Dette er en smule mere ressourceeffektivt end at forberede det hver gang på ny.
Lad os som eksempel antage, at vi skal foretage forespørgsler for at opdatere brugeres lønninger i tabellen.
Lad os antage, at vi allerede har et associativt array,
hvor nøglen angiver
id på brugeren, og værdien -
er hans/hendes løn:
<?php
$salaries = [
1 => 200,
3 => 500,
5 => 700,
];
?>
Lad os forberede forespørgslen én gang:
<?php
$res = $pdo->prepare('UPDATE users SET salary=? WHERE id=?');
?>
Og nu i løkken vil vi gennemgå vores array og udføre vores forberedte forespørgsel i hver iteration med forskellige data til pladsholderne:
<?php
foreach ($salaries as $id => $salary) {
$res->execute([$salary, $id]);
}
?>
Givet et array med brugeres id'er og aldre:
<?php
$ages = [
1 => 20,
3 => 30,
5 => 40,
];
?>
Skriv kode, der i en løkke opdaterer brugerdata.