PHP php

Consulta segura com PDO e parâmetros nomeados

Exemplo de consulta PHP sem inserir diretamente a entrada do usuário no comando SQL.

Código
<?php
declare(strict_types=1);

$email = filter_input(INPUT_GET, 'email', FILTER_VALIDATE_EMAIL);

if ($email === false || $email === null) {
    http_response_code(422);
    exit('Informe um e-mail válido.');
}

$consulta = $pdo->prepare(
    'SELECT id, nome, email
       FROM usuarios
      WHERE email = :email
      LIMIT 1'
);

$consulta->execute(['email' => $email]);
$usuario = $consulta->fetch(PDO::FETCH_ASSOC);

Quando usar

Use sempre que um valor externo participar de uma consulta ao banco de dados.

Como adaptar ao seu projeto

Troque tabela, colunas e regras de validação. Selecione somente os campos necessários e limite a quantidade de resultados.

Antes de publicar

Parâmetros protegem valores, não nomes de tabelas ou colunas. Para ordenação dinâmica, aceite apenas opções previamente autorizadas.

Códigos relacionados