PDO da PHPda tayyorlangan iboralarni bir necha marta bajarish
Biz ma'lumotlar bazasiga so'rov uchun tayyorlangan iborani bir necha marta bajarishimiz mumkin. Bu uni har safar qaytadan tayyorlashga qaraganda resurslar jihatidan biroz foydaliroq.
Misol uchun, faraz qilaylik, jadvaldagi foydalanuvchilarning maoshlarini yangilash uchun so'rovlar amalga oshirishimiz kerak.
Faraz qilaylik, bizda allaqachon assotsiativ massiv mavjud bo'lib,
unda kalit sifatida foydalanuvchi id si ko'rsatilgan,
qiymat sifatida esa uning maoshi:
<?php
$salaries = [
1 => 200,
3 => 500,
5 => 700,
];
?>
Keling, so'rovni bir marta tayyorlaymiz:
<?php
$res = $pdo->prepare('UPDATE users SET salary=? WHERE id=?');
?>
Endi tsiklda massivimizni aylantirib, har bir iteratsiyada joy egallagichlar uchun turli ma'lumotlar bilan tayyorlangan so'rovimizni bajaramiz:
<?php
foreach ($salaries as $id => $salary) {
$res->execute([$salary, $id]);
}
?>
Foydalanuvchilarning ID va yoshlari bilan massiv berilgan:
<?php
$ages = [
1 => 20,
3 => 30,
5 => 40,
];
?>
Foydalanuvchilar ma'lumotlarini yangilaydigan kodni yozing.