Pozicijsko povezovanje spremenljivk v PDO v PHP

Spremenljivke lahko povezujemo z poizvedbo eno za drugo. To naredimo z metodo bindValue. Nato se pripravljena poizvedba izvede, vendar v tem primeru v execute nič ne posredujemo.

Takšna povezava omogoča natančno določitev tipa spremenljivke, s čemer prekličemo samodejno dodajanje narekovajev za številske vrednosti. Poglejmo, kako se to naredi. Recimo, da imamo dve spremenljivki, niz in številko:

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

Pripravimo poizvedbo:

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

Zdaj pa povežimo spremenljivke s poizvedbo z uporabo metode bindValue. V prvem parametru metode se določi zaporedna številka mesta v poizvedbi, v drugem parametru - ime spremenljivke, v tretjem pa tip spremenljivke (številski ali niz):

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

Izvedemo poizvedbo:

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

Poglejmo rezultat:

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

Podane spremenljivke:

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

Pridobite uporabnike, katerih ime se ujema z vrednostjo prve ali druge spremenljivke.

Задание 2

Podane spremenljivke:

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

Pridobite uporabnike, katerih starost se ujema z vrednostjo prve ali druge spremenljivke.