ცვლადების პოზიციური მიბმა 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;
?>
მიიღეთ მომხმარებლები, რომელთა ასაკი ემთხვევა ერთ-ერთი ცვლადის მნიშვნელობას.