Вишеструко извршавање припремљених израза у 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,
];
?>
Напишите код који ће у петљи ажурирати податке о корисницима.