Trabalho com bancos de dados em PHP: PostgreSQL e MongoDB para iniciantes

Treinador Online de Python para Iniciantes

Aprenda Python facilmente sem sobrecarga teórica. Resolva tarefas práticas com verificação automática e escreva código diretamente no navegador.

Start Course

Introdução ao trabalho com bancos de dados em PHP



O desenvolvimento web moderno é impensável sem o gerenciamento eficiente de dados. O PHP, como uma das linguagens de servidor mais populares, oferece aos desenvolvedores ferramentas poderosas para interagir com diversos sistemas de gerenciamento de banco de dados (SGBD). Neste artigo, abordaremos dois SGBDs fundamentalmente diferentes, mas igualmente requisitados: o relacional PostgreSQL e o orientado a documentos MongoDB.



Para desenvolvedores iniciantes, a escolha entre SQL e NoSQL pode parecer complexa. Vamos analisar as principais diferenças, aprender a conectar-se a ambos os bancos de dados a partir do PHP e executar operações CRUD básicas (Create, Read, Update, Delete). Ao final do artigo, você será capaz de escolher o SGBD adequado para o seu projeto e escrever código funcional para interagir com ele.



1. PostgreSQL: trabalhando com dados relacionais via PDO



PostgreSQL é um SGBD objeto-relacional poderoso e de código aberto. Ele suporta consultas complexas, transações e tipos de dados avançados. Para trabalhar com PostgreSQL em PHP, recomenda-se o uso da extensão PDO (PHP Data Objects), que fornece uma interface unificada para trabalhar com diferentes bancos de dados.



Conexão ao PostgreSQL via PDO



O primeiro passo é instalar o driver pdo_pgsql. Certifique-se de que ele está ativado no seu php.ini. Depois disso, você pode criar a conexão:



<?php$host = 'localhost';$dbname = 'my_database';$user = 'my_user';$password = 'my_password';

try { $pdo = new PDO("pgsql:host=$host;dbname=$dbname", $user, $password); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); echo "Conexão ao PostgreSQL estabelecida com sucesso!";} catch (PDOException $e) { die("Erro de conexão: " . $e->getMessage());}?>


Operações CRUD no PostgreSQL



Vamos trabalhar com a tabela users, contendo os campos id, name e email. Todas as consultas são executadas através de prepared statements para proteção contra injeção de SQL.



Criação de registro (Create):

<?php$sql = "INSERT INTO users (name, email) VALUES (:name, :email)";$stmt = $pdo->prepare($sql);$stmt->execute([':name' => 'Иван Петров', ':email' => 'ivan@example.com']);echo "Usuário adicionado. ID: " . $pdo->lastInsertId();?>


Leitura de dados (Read):

<?php$sql = "SELECT * FROM users WHERE id = :id";$stmt = $pdo->prepare($sql);$stmt->execute([':id' => 1]);$user = $stmt->fetch(PDO::FETCH_ASSOC);

if ($user) { echo "Nome: " . $user['name'] . ", Email: " . $user['email'];} else { echo "Usuário não encontrado.";}?>


Atualização (Update) e exclusão (Delete):

<?php// Atualização$sql = "UPDATE users SET email = :email WHERE id = :id";$stmt = $pdo->prepare($sql);$stmt->execute([':email' => 'new_email@example.com', ':id' => 1]);echo "Linhas atualizadas: " . $stmt->rowCount();

// Exclusão$sql = "DELETE FROM users WHERE id = :id";$stmt = $pdo->prepare($sql);$stmt->execute([':id' => 1]);echo "Linhas excluídas: " . $stmt->rowCount();?>


2. MongoDB: trabalhando com documentos via MongoDB PHP Library



MongoDB é um banco de dados NoSQL que armazena dados na forma de documentos flexíveis semelhantes a JSON. Para trabalhar com ele em PHP, utiliza-se a biblioteca oficial mongodb/mongodb, instalada via Composer.



Instalação e conexão ao MongoDB



Primeiro, instale a biblioteca via Composer:

composer require mongodb/mongodb


Depois disso, crie a conexão ao servidor MongoDB (por padrão, funciona na porta 27017):

Blogs

Book Recommendations