დასახელებული პლეისჰოლდერები PDO-ში PHP-ში
მოხერხებულობისთვის შეგიძლიათ გამოიყენოთ დასახელებული პლეისჰოლდერები, რომლებშიც ცვლადების თანმიმდევრობა მასივში არ აქვს მნიშვნელობა. ვნახოთ, როგორ ვიმუშაოთ მათთან.
დავუშვათ, ჩვენ ისევ გვაქვს შემდეგი ცვლადები:
<?php
$min = 1;
$max = 5;
?>
შევქმნათ SQL მოთხოვნა, დასახელებული პლეისჰოლდერების გამოყენებით. მათი სინტაქსი ასეთია: ორწერტილი, შემდეგ კი პლეისჰოლდერის სახელი. გამოვიყენოთ ისინი მოთხოვნაში:
<?php
$sql = 'SELECT * FROM users WHERE id>:min and id<:max';
?>
მოვამზადოთ მოთხოვნა:
<?php
$res = $pdo->prepare($sql);
?>
შევასრულოთ მოთხოვნა, გადავცეთ მას პარამეტრების სახით ასოციაციური მასივი, სადაც გასაღებები იქნება პლეისჰოლდერების სახელები SQL მოთხოვნაში, ხოლო მნიშვნელობები - შესაბამისი ცვლადები:
<?php
$res->execute([
'min' => $min,
'max' => $max
]);
?>
შეგვიძლია შევამოწმოთ შედეგი:
<?php
while ($row = $res->fetch()) {
var_dump($row);
}
?>
შევკრიბოთ ყველაფერი ერთად და მივიღოთ შემდეგი კოდი:
<?php
$min = 1;
$max = 5;
$sql = 'SELECT * FROM users WHERE id>:min and id<:max';
$res = $pdo->prepare($sql);
$res->execute([
'min' => $min,
'max' => $max
]);
while ($row = $res->fetch()) {
var_dump($row);
}
?>
მოცემულია ცვლადი:
<?php
$age = 30;
?>
იპოვეთ ყველა მომხმარებელი, რომელთა ასაკი უდრის ცვლადში მოცემულ მნიშვნელობას.
მოცემულია ცვლადები:
<?php
$age1 = 20;
$age2 = 30;
?>
იპოვეთ ყველა მომხმარებელი, რომელთა ასაკი მოცემული დიაპაზონის ფარგლებშია, ცვლადების მნიშვნელობებით განსაზღვრული.
მოცემულია ცვლადები:
<?php
$age1 = 20;
$age2 = 30;
$salary1 = 1000;
$salary2 = 2000;
?>
იპოვეთ ყველა მომხმარებელი, რომელთა ასაკი და ხელფასი მოცემული დიაპაზონის ფარგლებშია, ცვლადების მნიშვნელობებით განსაზღვრული.