Viboreshaji Mahususi Katika PDO kwenye PHP
Hebu tuchambue jinsi ya kufanya kazi na viboreshaji mahususi. Hebu tuseme tuna vigeu viwili ambavyo tungependa kuziingiza kwenye ombi:
<?php
$min = 1;
$max = 5;
?>
Hebu tuseme tungependa kuingiza vigeu vyetu kama ifuatavyo:
<?php
$sql = "SELECT * FROM users WHERE id>$min and id<$max";
?>
Hata hivyo, kufanya hivi ni hatari. Kwa hivyo badala ya kuingiza vigeu moja kwa moja, tubadilishe na viboreshaji mahususi, ambayo ni alama za alama ya kuuliza:
<?php
$sql = 'SELECT * FROM users WHERE id>? and id<?';
?>
Sasa tufanye amri ambayo itayarishe ombi:
<?php
$res = $pdo->prepare($sql);
?>
Sasa tufanye ombi, tukipeleka kama vigeu safu yenye vigeu vyetu. Wakati huo huo vigeu vitaingizwa kwenye ombi kwa mpangilio ambao umeonyeshwa kwenye safu:
<?php
$res->execute([$min, $max]);
?>
Baada ya haya tunaweza kupata matokeo ya ombi:
<?php
while ($row = $res->fetch()) {
var_dump($row);
}
?>
Tukusanye pamoja na tupate msururu ufuatao:
<?php
$min = 1;
$max = 5;
$sql = 'SELECT * FROM users WHERE id>? and id<?';
$res = $pdo->prepare($sql);
$res->execute([$min, $max]);
while ($row = $res->fetch()) {
var_dump($row);
}
?>
Vigeu vilivyopewa:
<?php
$age = 30;
$salary = 1000;
?>
Tafuta watumiaji wote, ambao umri au mshahara ni sawa na thamani zilizobainishwa kwenye vigeu.
Jaribu kufanya msukumo wa SQL kwenye msururu wako. Hakikisha kuwa haupiti.