Позиционӣ бастани тағйирёбандаҳо дар PDO дар PHP
Тағйирёбандаҳоро ба дархост як-як баст кардан мумкин аст.
Ин бо усули bindValue анҷом дода мешавад.
Сипас дархости гирифтаро иҷро мекунанд, аммо
дар ин ҳолат ба execute чизе дода намешавад.
Чунин баст маҳалгузории тағйирёбандаро муайян карда метавонад, ки барои арзишҳои рақамӣ худкор иҳота кардан ба қошуқҳоро бекор мекунад. Биёед бубинем, ки ин чӣ тавр анҷом дода мешавад. Бигзор мо ду тағйирёбанда дошта бошем, сатрӣ ва рақамӣ:
<?php
$name = 'name1';
$age = 25;
?>
Дархостро тайёр мекунем:
<?php
$sql = 'SELECT * FROM users WHERE name=? or age=?';
$res = $pdo->prepare($sql);
?>
Акнун тағйирёбандаҳоро ба дархост бо
роҳи усули bindValue мебастем.
Дар параметри якуми усул рақами
мақоми дар дархост, дар параметри
дуввум - номи тағйирёбанда,
ва дар параметри сеюм навъи тағйирёбанда (рақамӣ
ё сатрӣ) муайян карда мешавад:
<?php
$res->bindValue(1, $name, PDO::PARAM_INT);
$res->bindValue(2, $age, PDO::PARAM_STR);
?>
Дархостро иҷро мекунем:
<?php
$res->execute();
?>
Ба натиҷа нигарем:
<?php
while ($row = $res->fetch()) {
var_dump($row);
}
?>
Тағйирёбандаҳо дода шудаанд:
<?php
$name1 = 'name1';
$name2 = 'name2';
?>
Истифодабарандагонеро гиред, ки номи онҳо бо арзиши яке ё дигаре аз тағйирёбандаҳо рост меояд.
Тағйирёбандаҳо дода шудаанд:
<?php
$age1 = 21;
$age2 = 22;
?>
Истифодабарандагонеро гиред, ки синни онҳо бо арзиши яке ё дигаре аз тағйирёбандаҳо рост меояд.