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,
];
?>
Циклде пайдаланушы деректерін жаңартатын код жазыңыз.