Многократно изпълнение на подготовени изрази в 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]);
}
?>
Даден е масив с идентификатори и възрасти на потребители:
<?php
$ages = [
1 => 20,
3 => 30,
5 => 40,
];
?>
Напишете код, който в цикъл актуализира данните на потребителите.