Kintamųjų pozicinis surišimas PDO PHP

Galima surišti kintamuosius su užklausa po vieną. Tai daroma naudojant metodą bindValue. Tada gauta užklausa vykdoma, bet šiuo atveju į execute niekas neperduodama.

Toks surišimas leidžia tiksliai nurodyti kintamojo tipą, panaikinant automatinį kabučių pridėjimą skaitinėms reikšmėms. Pažiūrėkime, kaip tai daroma. Tarkime, kad turime du kintamuosius, eilutės ir skaitinį:

php<?php
  $name = 'name1';
  $age  = 25;
?>

Paruoškime užklausą:

php<?php
  $sql = 'SELECT * FROM users WHERE name=? or age=?';
  $res = $pdo->prepare($sql);
?>

Dabar surišime kintamuosius su užklausa naudodami metodą bindValue. Pirmame metodo parametre nurodoma pozicijos numeris užklausoje, antrame parametre - kintamojo pavadinimas, o trečiame nurodomas kintamojo tipas (skaitinis arba eilutės):

php<?php
  $res->bindValue(1, $name, PDO::PARAM_INT);
  $res->bindValue(2, $age,  PDO::PARAM_STR);
?>

Vykdykime užklausą:

php<?php
  $res->execute();
?>

Pažiūrėkime į rezultatą:

php<?php
  while ($row = $res->fetch()) {
    var_dump($row);
  }
?>
Задание 1

Duoti kintamieji:

php<?php
  $name1 = 'name1';
  $name2 = 'name2';
?>

Gaukite vartotojus, kurių vardas sutampa su vienos ar kitos kintamojo reikšme.

Задание 2

Duoti kintamieji:

php<?php
  $age1 = 21;
  $age2 = 22;
?>

Gaukite vartotojus, kurių amžius sutampa su vienos ar kitos kintamojo reikšme.