Instruções preparadas
Proteja suas consultas ao banco de dados com instruções preparadas
Instruções preparadas é uma aula grátis de PHP Academy no CoddyKit. Esta é a aula 5 de 6. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de PHP Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de PHP Academy inclui 6 aulas no total.
Visão geral das instruções preparadas
Instruções preparadas
Boas-vindas à próxima lição! Nesta lição, você aprenderá sobre instruções preparadas e como elas tornam suas interações com o banco de dados mais seguras e eficientes. Vamos começar!

O que são instruções preparadas?
O que são instruções preparadas?
Instruções preparadas são um recurso dos sistemas de gerenciamento de bancos de dados que permite executar consultas SQL com segurança e eficiência. Elas separam o código SQL dos dados, evitando ataques de injeção de SQL.
Exemplo: Usar marcadores de posição (:name, :email) em vez de inserir diretamente a entrada do usuário na consulta.
Por que usar instruções preparadas?
Por que usar instruções preparadas?
As instruções preparadas oferecem vários benefícios:
- Segurança: Evitam injeções de SQL ao tratar as entradas do usuário.
- Eficiência: Permitem reutilizar a mesma instrução com dados diferentes, reduzindo o tempo de análise da consulta.
- Facilidade de manutenção: Tornam seu código mais fácil de ler e depurar.
Ponto principal: Sempre use instruções preparadas ao interagir com dados fornecidos pelo usuário.
Criando uma instrução preparada
Criando uma instrução preparada
Para criar uma instrução preparada, siga estas etapas:
- Escreva a consulta SQL com marcadores de posição.
- Prepare a consulta usando a conexão com o banco de dados.
- Associe valores aos marcadores de posição.
- Execute a instrução.
Exemplo:
Dica: Use matrizes associativas para associar valores com facilidade.
<?php
$sql = "INSERT INTO users (name, email) VALUES (:name, :email)";
$stmt = $pdo->prepare($sql);
$stmt->execute(["name" => "Alice", "email" => "alice@mail.com"]);
?>Associando valores
Associando valores
Use os métodos bindParam() ou bindValue() para associar valores aos marcadores de posição. Exemplo:
<?php
$stmt = $pdo->prepare("INSERT INTO users (name, email) VALUES (:name, :email)");
$stmt->bindParam(":name", $name);
$stmt->bindParam(":email", $email);
$name = "Bob";
$email = "bob@mail.com";
$stmt->execute();
?>
Usando instruções preparadas para consultas <code>SELECT</code>
Usando instruções preparadas para consultas SELECT
As instruções preparadas funcionam com todos os tipos de consultas SQL, incluindo SELECT. Exemplo:
Dica: Use fetchAll() para recuperar várias linhas.
<?php
$sql = "SELECT * FROM users WHERE name = :name";
$stmt = $pdo->prepare($sql);
$stmt->execute(["name" => "Alice"]);
$result = $stmt->fetch(PDO::FETCH_ASSOC);
echo "Name: " . $result["name"] . ", Email: " . $result["email"];
?>
Reutilizando instruções preparadas
Reutilizando instruções preparadas
As instruções preparadas podem ser reutilizadas com valores diferentes, melhorando a eficiência. Exemplo:
<?php
$stmt = $pdo->prepare("INSERT INTO users (name, email) VALUES (:name, :email)");
$users = [
["name" => "Charlie", "email" => "charlie@mail.com"],
["name" => "Dave", "email" => "dave@mail.com"]
];
foreach ($users as $user) {
$stmt->execute($user);
}
echo "Multiple records inserted successfully!";
?>
Evitando injeções de SQL
Evitando injeções de SQL
As instruções preparadas tratam caracteres especiais nas entradas do usuário, evitando ataques de injeção de SQL. Exemplo:
<?php
$sql = "SELECT * FROM users WHERE email = :email";
$stmt = $pdo->prepare($sql);
$stmt->execute(["email" => "' OR 1=1; --"]);
$result = $stmt->fetch();
if ($result) {
echo "User found.";
} else {
echo "No user found.";
}
?>
Muito bem!
Muito bem!
Parabéns! Você aprendeu a usar instruções preparadas em PHP para proteger suas interações com o banco de dados. Na próxima lição, exploraremos técnicas avançadas de consulta com junções e agregações. Vamos continuar programando!

Perguntas Frequentes
A aula “Instruções preparadas” é grátis?
Sim — o texto completo de “Instruções preparadas” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de PHP Academy, atualize para CoddyKit PRO. O curso de PHP Academy inclui 6 aulas no total.
O que vou aprender em “Instruções preparadas”?
Proteja suas consultas ao banco de dados com instruções preparadas Você pratica PHP Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar PHP Academy?
Nenhuma experiência prévia é necessária. PHP Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 5 de 6.
Quanto tempo leva a aula “Instruções preparadas”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de PHP Academy?
Sim. Cada aula de PHP Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Introdução a bancos de dados
- Conectando-se a um banco de dados MySQL
- Gerenciando tabelas
- Realizando operações CRUD
- Instruções preparadas
- Trabalhando com PDO