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;
?>
Айнымалылардың мәндерімен берілген ауқымда жасы ЖӘНЕ жалақысы бар барлық пайдаланушыларды табыңыз.