PHPдеги PDO аркылуу даярдалган сөз айкаштарды көп жолу аткаруу
Биз БДге суроо-талап үчүн даярдалган сөз айкашты бир нече жолу аткара алабыз. Бул аны ар жолу кайрадан даярдоого караганда ресурстар боюнча бир аз пайдалуураак.
Мисал үчүн, бизге таблицадагы колдонуучулардын эмгек акыларын жаңыртуу үчүн суроо-талаптарды жасоо керек болсун.
Бизде ассоциативдик массив бар деп коёлу,
анда ачкыч катары колдонуучунун
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,
];
?>
Циклде колдонуучулардын берилмелерин жаңырта турган кодду жазыңыз.