Poziciono vezivanje promenljivih u PDO u PHP

Promenljive se mogu vezivati za upit jedna po jedna. To se radi pomoću metode bindValue. Zatim se dobijeni upit izvršava, ali u ovom slučaju se u execute ništa ne prosleđuje.

Ovo vezivanje omogućava precizno određivanje tipa promenljive, poništavajući automatsko obavijanje u navodnike za numeričke vrednosti. Hajde da pogledamo kako se to radi. Neka postoje dve promenljive, tekstualna i numerička:

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

Pripremimo upit:

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

Sada ćemo vezati promenljive za upit pomoću metode bindValue. U prvom parametru metode se navodi pozicija (redni broj) u upitu, u drugom parametru - ime promenljive, a u trećem se navodi tip promenljive (numerički ili tekstualni):

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

Izvršimo upit:

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

Pogledajmo rezultat:

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

Date su promenljive:

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

Preuzmite korisnike čije se ime poklapa sa vrednošću prve ili druge promenljive.

Задание 2

Date su promenljive:

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

Preuzmite korisnike čije se godine poklapaju sa vrednošću prve ili druge promenljive.