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;
?>
Жашы биринчи же экинчи өзгөрмөнүн мааниси менен дал келген колдонуучуларды алыңыз.