Posisionele verknoping van veranderlikes in PDO in PHP
Veranderlikes kan een vir een aan die navraag gekoppel word.
Dit word gedoen met die bindValue metode.
Daarna word die verkrygde navraag uitgevoer, maar
in hierdie geval word niks in execute oorgedra nie.
Sodanige verknoping laat jou presies die tipe veranderlike spesifiseer, wat outomatiese kwotasie vir numeriese waardes uitskakel. Kom ons kyk hoe dit gedoen word. Laat ons twee veranderlikes hê, 'n string en 'n numeriese:
<?php
$name = 'name1';
$age = 25;
?>
Laat ons die navraag voorberei:
<?php
$sql = 'SELECT * FROM users WHERE name=? or age=?';
$res = $pdo->prepare($sql);
?>
Nou koppel ons die veranderlikes aan die navraag met
behulp van die bindValue metode.
In die eerste parameter van die metode word
die posisienommer in die navraag gespesifiseer, in die tweede
parameter - die naam van die veranderlike,
en in die derde word die tipe veranderlike gespesifiseer (numeries
of string):
<?php
$res->bindValue(1, $name, PDO::PARAM_INT);
$res->bindValue(2, $age, PDO::PARAM_STR);
?>
Laat ons die navraag uitvoer:
<?php
$res->execute();
?>
Kom ons kyk na die resultaat:
<?php
while ($row = $res->fetch()) {
var_dump($row);
}
?>
Gegewe veranderlikes:
<?php
$name1 = 'name1';
$name2 = 'name2';
?>
Kry gebruikers waarvan die naam ooreenstem met die waarde van die een of die ander veranderlike.
Gegewe veranderlikes:
<?php
$age1 = 21;
$age2 = 22;
?>
Kry gebruikers waarvan die ouderdom ooreenstem met die waarde van die een of die ander veranderlike.