PHPдеги PDO аркылуу атталган плейсхолдерлер
Ыңгайлуулук үчүн атталган плейсхолдерлерди колдонсо болот, анда массивдеги өзгөрмөлөрдүн ирети маанилүү эмес. Келгиле, алар менен кантип иштөө керек экенин карап көрөлү.
Кайрадан бизде төмөнкү өзгөрмөлөр бар деп коёлу:
<?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;
?>
Жашы ЖАНА эмгек акысы өзгөрмөлөрдүн маанилери менен белгиленген диапазондо жаткан бардык колдонуучуларды табыңыз.