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
$name = 'name1';
$age = 25;
?>
Paruoškime užklausą:
<?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
$res->bindValue(1, $name, PDO::PARAM_INT);
$res->bindValue(2, $age, PDO::PARAM_STR);
?>
Vykdykime užklausą:
<?php
$res->execute();
?>
Pažiūrėkime į rezultatą:
<?php
while ($row = $res->fetch()) {
var_dump($row);
}
?>
Duoti kintamieji:
<?php
$name1 = 'name1';
$name2 = 'name2';
?>
Gaukite vartotojus, kurių vardas sutampa su vienos ar kitos kintamojo reikšme.
Duoti kintamieji:
<?php
$age1 = 21;
$age2 = 22;
?>
Gaukite vartotojus, kurių amžius sutampa su vienos ar kitos kintamojo reikšme.