Nimetetyt paikkamerkit PDO:ssa PHP:ssä
Mukavuuden vuoksi voidaan käyttää nimettyjä paikkamerkkejä, joissa muuttujien järjestyksellä taulukossa ei ole väliä. Katsotaan kuinka niiden kanssa työskennellään.
Oletetaan, että meillä on jälleen seuraavat muuttujat:
<?php
$min = 1;
$max = 5;
?>
Tehdään SQL-kysely käyttäen nimettyjä paikkamerkkejä. Niiden syntaksi on: kaksoispiste, ja sitten paikkamerkin nimi. Käytetään niitä kyselyssä:
<?php
$sql = 'SELECT * FROM users WHERE id>:min and id<:max';
?>
Valmistellaan kysely:
<?php
$res = $pdo->prepare($sql);
?>
Suoritetaan kysely antamalla selle parametreina assosiatiivinen taulukko, jossa avaimina ovat paikkamerkkien nimet SQL-kyselyssä, ja arvoina - vastaavat muuttujat:
<?php
$res->execute([
'min' => $min,
'max' => $max
]);
?>
Voimme tarkastella tulosta:
<?php
while ($row = $res->fetch()) {
var_dump($row);
}
?>
Kootaan kaikki yhteen ja saadaan seuraava koodi:
<?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);
}
?>
Annettu muuttuja:
<?php
$age = 30;
?>
Etsi kaikki käyttäjät, joiden ikä on sama kuin muuttujassa annettu arvo.
Annetut muuttujat:
<?php
$age1 = 20;
$age2 = 30;
?>
Etsi kaikki käyttäjät, joiden ikä on annettujen muuttujien määrittelemällä välillä.
Annetut muuttujat:
<?php
$age1 = 20;
$age2 = 30;
$salary1 = 1000;
$salary2 = 2000;
?>
Etsi kaikki käyttäjät, joiden ikä JA palkka ovat annettujen muuttujien määrittelemällä välillä.