Иҷрои такрории ибораҳои омодашуда дар 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,
];
?>
Рамзеро нависед, ки дар цикл додаҳои корбаронро навсозӣ мекунад.