Valmiiden lausekkeiden moninkertainen suorittaminen PDO:ssa PHP:ssä

Voimme suorittaa valmistetun lausekkeen tietokantakyselyä varten useita kertoja. Tämä on hieman resurssitehokkaampaa kuin sen valmisteleminen uudelleen joka kerta.

Oletetaan esimerkiksi, että meidän on tehtävä päivityskyselyitä käyttäjien palkkoihin taulukossa.

Oletetaan, että meillä on jo assosiatiivinen taulukko, jossa avaimena on käyttäjän id ja arvona - hänen palkkansa:

php<?php
  $salaries = [
    1 => 200,
    3 => 500,
    5 => 700,
  ];
?>

Valmistellaan kysely kerran:

php<?php
  $res = $pdo->prepare('UPDATE users SET salary=? WHERE id=?');
?>

Ja nyt silmukassa käymme läpi taulukkomme ja suoritamme valmistellun kyselymme jokaisessa iteraatiossa erilaisilla tiedoilla paikkamerkkien osalta:

php<?php
  foreach ($salaries as $id => $salary) {
    $res->execute([$salary, $id]);
  }
?>
Задание 1

Annettu taulukko, jossa on käyttäjien id:t ja iät:

php<?php
  $ages = [
    1 => 20,
    3 => 30,
    5 => 40,
  ];
?>

Kirjoita koodi, joka päivittää käyttäjien tiedot silmukassa.