Placeholders nomeados no PDO em PHP
Para maior conveniência, podemos usar placeholders nomeados, onde a ordem das variáveis no array não é importante. Vamos ver como trabalhar com eles.
Suponha que temos novamente as seguintes variáveis:
<?php
$min = 1;
$max = 5;
?>
Vamos criar uma consulta SQL usando placeholders nomeados. Sua sintaxe é: dois pontos, seguidos pelo nome do placeholder. Vamos usá-los na consulta:
<?php
$sql = 'SELECT * FROM users WHERE id>:min and id<:max';
?>
Preparamos a consulta:
<?php
$res = $pdo->prepare($sql);
?>
Executamos a consulta, passando como parâmetros um array associativo, onde as chaves são os nomes dos placeholders na consulta SQL, e os valores são as variáveis correspondentes:
<?php
$res->execute([
'min' => $min,
'max' => $max
]);
?>
Podemos ver o resultado:
<?php
while ($row = $res->fetch()) {
var_dump($row);
}
?>
Juntando tudo, obtemos o seguinte código:
<?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);
}
?>
Dada a variável:
<?php
$age = 30;
?>
Encontre todos os usuários cuja idade é igual ao valor definido na variável.
Dadas as variáveis:
<?php
$age1 = 20;
$age2 = 30;
?>
Encontre todos os usuários cuja idade está no intervalo definido pelos valores das variáveis.
Dadas as variáveis:
<?php
$age1 = 20;
$age2 = 30;
$salary1 = 1000;
$salary2 = 2000;
?>
Encontre todos os usuários cuja idade E salário estão no intervalo definido pelos valores das variáveis.