Փոփոխականների դիրքային կապում PDO-ում PHP-ում
Կարելի է փոփոխականները կապել հարցմանը մեկ առ մեկ:
Դա արվում է bindValue մեթոդի միջոցով:
Այնուհետև ստացված հարցումը կատարվում է, բայց
այս դեպքում execute-ին ոչինչ չի փոխանցվում:
Նման կապումը թույլ է տալիս ճշգրիտ նշել փոփոխականի տեսակը, վերացնելով ավտոմատ չակերտների մեջ առնելը թվային արժեքների համար: Եկեք տեսնենք, թե ինչպես է դա արվում: Ենթադրենք, մենք ունենք երկու փոփոխական՝ tողային և թվային:
<?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;
?>
Ստացեք օգտատերերին, որոնց տարիքը համընկնում է մեկ կամ երկրորդ փոփոխականի արժեքի հետ: