Genoemde plekhouers in PDO in PHP
Vir gerief kan jy genoemde plekhouers gebruik, waar die volgorde van veranderlikes in die array nie belangrik is nie. Kom ons kyk hoe om daarmee te werk.
Laat ons weer die volgende veranderlikes hê:
<?php
$min = 1;
$max = 5;
?>
Kom ons maak 'n SQL-navraag deur genoemde plekhouers te gebruik. Hul sintaksis is soos volg: 'n dubbelpunt, en dan die naam van die plekhouer. Kom ons gebruik hulle in die navraag:
<?php
$sql = 'SELECT * FROM users WHERE id>:min and id<:max';
?>
Berei die navraag voor:
<?php
$res = $pdo->prepare($sql);
?>
Voer die navraag uit deur dit as parameters 'n assosiatiewe array te gee, waar die sleutels die name van die plekhouers in die SQL-navraag is, en die waardes - die ooreenstemmende veranderlikes:
<?php
$res->execute([
'min' => $min,
'max' => $max
]);
?>
Ons kan na die resultaat kyk:
<?php
while ($row = $res->fetch()) {
var_dump($row);
}
?>
Kom ons sit alles bymekaar en kry die volgende kode:
<?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);
}
?>
Gegee 'n veranderlike:
<?php
$age = 30;
?>
Vind alle gebruikers waarvan die ouderdom gelyk is aan die waarde gespesifiseer in die veranderlike.
Gegee veranderlikes:
<?php
$age1 = 20;
$age2 = 30;
?>
Vind alle gebruikers waarvan die ouderdom binne die reeks lê, gespesifiseer deur die veranderlike waardes.
Gegee veranderlikes:
<?php
$age1 = 20;
$age2 = 30;
$salary1 = 1000;
$salary2 = 2000;
?>
Vind alle gebruikers waarvan die ouderdom EN salaris binne die reeks lê, gespesifiseer deur die veranderlike waardes.