PHP-de PDO arkaly üýtgeýänleriň orunly baglanyşyklandyrylmagy
Üýtgeýänleri sorağa birmeňzeş baglanyşdyryp bolýar.
Bu iş bindValue metodi arkaly amala aşyrylýar.
Soňra alynyn sorag ýerine ýetirilýär, ýöne
bu ýagdaýda execute-a hiç zat geçirilmeýär.
Şeýle baglanyşyk üýtgeýjäniň tipini takyk görkezmäge mümkinçilik berýär, san bahalary üçin awtomatik dyrnaklaryň içine almagy ýatyrýar. Geliň, munyň nädip edilýändigine göz aýlalyň. Bizde iki üýtgeýän bar diýeli, setir we san:
<?php
$name = 'name1';
$age = 25;
?>
Soragy taýýarlalyň:
<?php
$sql = 'SELECT * FROM users WHERE name=? or age=?';
$res = $pdo->prepare($sql);
?>
Indi üýtgeýänleri soraga
bindValue metodi arkaly baglanyşdyralyň.
Metodyň birinji parametrinde
soragdaky orun belgilenýär, ikinji
parametrde - üýtgeýjäň ady,
üçünji parametrde bolsa üýtgeýjäň tipi (san
ýa-da setir) görkezilýär:
<?php
$res->bindValue(1, $name, PDO::PARAM_INT);
$res->bindValue(2, $age, PDO::PARAM_STR);
?>
Soragy ýerine ýetireliň:
<?php
$res->execute();
?>
Netijäni göreliň:
<?php
while ($row = $res->fetch()) {
var_dump($row);
}
?>
Üýtgeýänler berlen:
<?php
$name1 = 'name1';
$name2 = 'name2';
?>
Ady birinji ýa-da ikinji üýtgeýjäň bahasyna degişli bolan ulanyjylary alyň.
Üýtgeýänler berlen:
<?php
$age1 = 21;
$age2 = 22;
?>
Ýaşy birinji ýa-da ikinji üýtgeýjäň bahasyna degişli bolan ulanyjylary alyň.