Passo 1: Conexão ao Banco de Dados
Para conectar ao banco de dados, utilizamos o objeto PDO. Primeiro, definimos a string de conexão, que inclui o tipo de banco de dados, o nome do host e o nome do banco de dados. Em seguida, definimos o nome do usuário e a senha para o acesso ao banco de dados.
php
$dsn = "mysql:host=hostname;dbname=nome_da_base_dados";
$username = "nome_do_usuario_no_banco_de_dados";
$password = "senha_do_usuario_no_banco_de_dados";
$pdo = new PDO($dsn, $username, $password);
A partir desse momento, temos um objeto que pode manipular os dados do banco de dados. Esse objeto é o $pdo
.
Passo 2: Execução de Consultas
Para executar uma consulta SQL, utilizamos o método query()
. Por exemplo, para listar todos os alunos da tabela alunos
, usamos o seguinte código:
php
$stmt = $pdo->query("SELECT * FROM alunos");
while ($aluno = $stmt->fetch(PDO::FETCH_ASSOC)) {
echo $aluno['nome'] . " - " . $aluno['email'] . "<br>";
}
Nesse exemplo, estamos executando uma consulta para selecionar todos os registros da tabela alunos
. O método fetch()
retorna cada registro da consulta, um por vez, como um array associativo. Utilizamos o laço de repetição while
para percorrer todos os registros retornados.
Passo 3: Consultas Preparadas
O uso de consultas preparadas é recomendado por questões de segurança, pois elas impedem a inserção de código malicioso em consultas SQL. Para usar consultas preparadas, utilizamos o método prepare()
do objeto PDO.
Por exemplo, para selecionar um aluno pelo ID, podemos usar o seguinte código:
php
$id = 1;
$stmt = $pdo->prepare("SELECT * FROM alunos WHERE id = :id");
$stmt->bindParam(':id', $id);
$stmt->execute();
$aluno = $stmt->fetch(PDO::FETCH_ASSOC);
No exemplo acima, estamos preparando uma consulta para selecionar um aluno com o ID igual a 1. Utilizamos o método bindParam()
para definir o valor do parâmetro :id
. O método bindParam()
vincula o valor da variável $id
ao parâmetro :id
na consulta. Em seguida, executamos a consulta com o método execute()
, e o resultado é armazenado na variável $aluno
.
Passo 4: Inserção de Dados
Da mesma forma que usamos consultas preparadas para selecionar dados, também podemos usá-las para inserir dados no banco de dados. Por exemplo:
$nome = "Maria";
$email = "maria@example.com";
$idade = 20;
$stmt = $pdo->prepare("INSERT INTO alunos (nome, email, idade) VALUES (:nome, :email, :idade)");
$stmt->bindParam(':nome', $nome);
$stmt->bindParam(':email', $email);
$stmt->bindParam(':idade', $idade);
$stmt->execute();
No exemplo acima, estamos preparando uma consulta para inserir um novo aluno no banco de dados. Utilizamos o método bindParam()
para vincular os valores das variáveis $nome
, $email
e $idade
aos parâmetros :
nome,
:emaile
:idadena consulta. Em seguida, executamos a consulta com o método
execute()`.
Passo 5: Atualização de Dados
Da mesma forma que podemos inserir dados no banco de dados, também podemos atualizar dados existentes. Por exemplo:
perl
$id = 1;
$nome = "João";
$email = "joao@example.com";
$stmt = $pdo->prepare("UPDATE alunos SET nome = :nome, email = :email WHERE id = :id");
$stmt->bindParam(':id', $id);
$stmt->bindParam(':nome', $nome);
$stmt->bindParam(':email', $email);
$stmt->execute();
No exemplo acima, estamos preparando uma consulta para atualizar o nome e o e-mail do aluno com o ID igual a 1. Utilizamos o método bindParam()
para vincular os valores das variáveis $id
, $nome
e $email
aos parâmetros :id
, :nome
e :email
na consulta. Em seguida, executamos a consulta com o método execute()
.
Passo 6: Exclusão de Dados
Por fim, podemos excluir dados do banco de dados com a seguinte sintaxe:
shell
$id = 1;
$stmt = $pdo->prepare("DELETE FROM alunos WHERE id = :id");
$stmt->bindParam(':id', $id);
$stmt->execute();
No exemplo acima, estamos preparando uma consulta para excluir o aluno com o ID igual a 1. Utilizamos o método bindParam()
para vincular o valor da variável $id
ao parâmetro :id
na consulta. Em seguida, executamos a consulta com o método execute()
.
Conclusão
O PDO é uma extensão do PHP que oferece uma maneira segura e eficiente de se comunicar com bancos de dados. Com o uso de consultas preparadas, podemos proteger nossas consultas SQL contra injeção de código malicioso. Além disso, o PDO oferece suporte a vários tipos de banco de dados, o que torna nossa aplicação mais flexível.