PDO'da Hazırlanan İfadelerin PHP'de Çoklu Çalıştırılması
Bir veritabanı sorgusu için hazırlanan ifadeyi birkaç kez çalıştırabiliriz. Bu, her seferinde yeniden hazırlamaktan kaynak kullanımı açısından biraz daha avantajlıdır.
Örnek olarak, bir tablodaki kullanıcıların maaşlarını güncellemek için sorgular yapmamız gerektiğini varsayalım.
Zaten içinde anahtar olarak kullanıcının
id'sinin, değer olarak da
onun maaşının belirtildiği bir ilişkisel
dizimiz olduğunu varsayalım:
<?php
$salaries = [
1 => 200,
3 => 500,
5 => 700,
];
?>
Sorguyu bir kez hazırlayalım:
<?php
$res = $pdo->prepare('UPDATE users SET salary=? WHERE id=?');
?>
Şimdi bir döngü içinde dizimizi gezecek ve hazırlanan sorgumuzu, yer tutucular için farklı verilerle her yinelemede çalıştıracağız:
<?php
foreach ($salaries as $id => $salary) {
$res->execute([$salary, $id]);
}
?>
Kullanıcı ID'leri ve yaşlarıyla bir dizi verildi:
<?php
$ages = [
1 => 20,
3 => 30,
5 => 40,
];
?>
Bir döngü içinde kullanıcı verilerini güncelleyecek kodu yazın.