PHP e Databases

Capa Curso PHP
Tempo de leitura: 3 minutos

PHP e Databases: Um banco de dados é uma coleção organizada de dados, estruturada para facilitar o armazenamento, gerenciamento e recuperação de informações. O PHP, por sua vez, é uma linguagem de programação server-side amplamente utilizada para desenvolvimento web. A combinação de PHP e bancos de dados permite criar aplicações web dinâmicas e interativas, capazes de armazenar e recuperar dados de forma eficiente.

Neste artigo, vamos abordar os principais aspectos da interação entre PHP e bancos de dados, utilizando o PDO como principal ferramenta.

Conectando ao Banco de Dados com PDO

O PDO oferece uma forma padronizada de conectar a diversos tipos de bancos de dados. Para conectar ao MySQL, utilizaremos a seguinte sintaxe:

PHP

<?php
$dsn = "mysql:host=localhost;dbname=meu_banco";
$usuario = "seu_usuario";
$senha = "sua_senha";

try {
    $pdo = new PDO($dsn, $usuario, $senha);
    echo "Conectado com sucesso";
} catch (PDOException $exception) {
    echo "Erro de conexão: " . $exception->getMessage();
}
?>

Executando Consultas SQL com PDO

Após estabelecer a conexão, podemos executar consultas SQL utilizando o método query() ou prepare().

PHP

// Inserindo um registro utilizando prepare()
$stmt = $pdo->prepare("INSERT INTO usuarios (nome, email) VALUES (?, ?)");
$stmt->execute(['João', '[email protected]']);

// Consultando dados
$stmt = $pdo->query("SELECT * FROM usuarios");
while ($row = $stmt->fetch()) {
    echo $row['nome'] . " - " . $row['email'] . "<br>";
}

Preparo de Consultas e Prevenção de Injeção SQL

O PDO oferece suporte nativo a prepared statements, que são uma forma eficaz de prevenir a injeção de SQL. Ao utilizar prepared statements, os valores dos parâmetros são separados da estrutura da consulta, evitando que código malicioso seja injetado.

PHP

$nome = htmlspecialchars($_POST['nome']);
$email = htmlspecialchars($_POST['email']);

$stmt = $pdo->prepare("
    INSERT INTO usuarios (nome, email) 
    VALUES (:nome, :email)
");

// Vinculando os valores com bindValue()
$stmt->bindValue(':nome', $nome);
$stmt->bindValue(':email', $email);

// Executando a consulta
$stmt->execute();

Transações

Transações garantem a integridade dos dados, permitindo que um conjunto de operações seja tratado como uma unidade atômica.

PHP

$pdo->beginTransaction();
// ... várias operações de inserção, atualização, exclusão ...
$pdo->commit(); // Confirma as alterações
// ou
$pdo->rollBack(); // Desfaz as alterações

Banco de Dados PHPMyAdmin

O phpMyAdmin é uma ferramenta de administração de banco de dados web que permite gerenciar bancos de dados MySQL de forma visual. Ele é amplamente utilizado para criar, modificar e excluir bancos de dados, tabelas, campos e dados.

Consultas Complexas com PDO

O PDO permite executar consultas complexas, como JOINs, agrupamentos e subconsultas.

PHP

// Exemplo de JOIN
$stmt = $pdo->query("
    SELECT usuarios.nome, pedidos.data 
    FROM usuarios 
        INNER JOIN pedidos ON usuarios.id = pedidos.usuario_id
");

Otimização de Consultas

Para otimizar o desempenho de suas aplicações, é importante escrever consultas SQL eficientes. Algumas dicas:

  • Criar índices: Acelera a busca por dados.
  • Minimizar o uso de funções: Funções podem afetar o desempenho de consultas.
  • Evitar consultas desnecessárias: Reduz o número de consultas ao banco de dados.

Segurança

A segurança do banco de dados é fundamental para proteger seus dados. Algumas medidas de segurança importantes:

  • Preparo de consultas: Previna a injeção de SQL.
  • Controle de acesso: Limite o acesso ao banco de dados apenas aos usuários autorizados.
  • Criptografia: Proteja dados sensíveis, como senhas.

Conclusão

PHP e Databases: O PDO oferece uma forma poderosa e flexível de interagir com bancos de dados em PHP. Ao dominar o PDO, você estará apto a criar aplicações web robustas e escaláveis, capazes de armazenar e gerenciar grandes volumes de dados.

Toda jornada tem um início, e o início para se tornar um desenvolvedor back-end é dominar as seguintes tecnologias, que você encontra aqui mesmo:

SQL
SQL
Capa Curso PHP
PHP
Laravel
Laravel

E se você gosta do nosso conteúdo, não deixe de contribuir adquirindo os serviços e produtos dos nossos apoiadores e empresas que somos associados:

Hospedagem Hostinger
Ofertas Amazon
Amazon Prime

Author: Thiago Rossi