PDO-ով PHP-ում պատրաստված արտահայտությունների բազմակի կատարում
Մենք կարող ենք կատարել պատրաստված արտահայտությունը տվյալների բազայի հարցման համար մի քանի անգամ: Սա որոշակիորեն ավելի շահավետ է ռեսուրսների առումով, քան այն ամեն անգամ նորից պատրաստելը:
Օրինակի համար, ենթադրենք, մեզ անհրաժեշտ է կատարել օգտատերերի աշխատավարձերի թարմացման հարցումներ աղյուսակում:
Ենթադրենք, մենք արդեն ունենք ասոցիատիվ զանգված,
որում որպես բանալի նշված կլինի
id օգտատիրոջը, իսկ որպես արժեք՝
նրա աշխատավարձը:
<?php
$salaries = [
1 => 200,
3 => 500,
5 => 700,
];
?>
Պատրաստենք հարցումը մեկ անգամ.
<?php
$res = $pdo->prepare('UPDATE users SET salary=? WHERE id=?');
?>
Իսկ այժմ ցիկլով կփոխանցենք մեր զանգվածը և կկատարենք մեր պատրաստված հարցումը յուրաքանչյուր իտերացիայի ժամանակ տարբեր տվյալներով պլեյսհոլդերների համար.
<?php
foreach ($salaries as $id => $salary) {
$res->execute([$salary, $id]);
}
?>
Տրված է օգտատերերի ID-ներով և տարիքներով զանգված.
<?php
$ages = [
1 => 20,
3 => 30,
5 => 40,
];
?>
Գրեք կոդ, որն ցիկլով կթարմացնի օգտատերերի տվյալները: