Ufungaji wa Kulingana na Nafasi wa Vigezo katika PDO PHP
Inawezekana kufunga vigezo kwa ombi moja kwa moja.
Hii inafanywa kwa kutumia mbinu ya bindValue.
Kisha ombi lililopatikana latekelezwa, lakini
katika kesi hii hakuna kitu kinachopitishwa kwenye execute.
Ufungaji kama huu huruhusu kubainisha kwa usahihi aina ya kigezo, ukiondoa ufunikaji wa kiotomatiki kwa alama za quotation kwa thamani za nambari. Hebu tuangalie jinsi hii inafanyika. Wacha tuwe na vigezo viwili, cha mfululizo na cha nambari:
<?php
$name = 'name1';
$age = 25;
?>
Wacha tuandae ombi:
<?php
$sql = 'SELECT * FROM users WHERE name=? or age=?';
$res = $pdo->prepare($sql);
?>
Sasa tufunge vigezo kwa ombi kwa
kutumia mbinu ya bindValue.
Kwenye parameta ya kwanza ya mbinu hubainishwa
nambari ya nafasi kwenye ombi, kwenye parameta ya pili
- jina la kigezo,
na kwenye ya tatu hubainishwa aina ya kigezo (nambari
au mfululizo):
<?php
$res->bindValue(1, $name, PDO::PARAM_INT);
$res->bindValue(2, $age, PDO::PARAM_STR);
?>
Wacha tutekeleze ombi:
<?php
$res->execute();
?>
Wacha tuangalie matokeo:
<?php
while ($row = $res->fetch()) {
var_dump($row);
}
?>
Vigezo vilivyopewa:
<?php
$name1 = 'name1';
$name2 = 'name2';
?>
Pata watumiaji ambao jina lao linalingana na thamani ya kigezo kimoja au cha pili.
Vigezo vilivyopewa:
<?php
$age1 = 21;
$age2 = 22;
?>
Pata watumiaji ambao umri wao unalingana na thamani ya kigezo kimoja au cha pili.