Título: Como Integrar PHP com PostgreSQL: Um Guia Passo a Passo (utilizando servidor local Linux)


Integrar PHP com PostgreSQL é uma excelente maneira de aproveitar as funcionalidades robustas de uma linguagem de programação amplamente utilizada e de um banco de dados relacional poderoso. Neste post, vamos mostrar como fazer essa integração de maneira simples e prática.

Pré-requisitos

Antes de começarmos, certifique-se de ter os seguintes itens configurados:

  • PHP instalado em seu servidor.
  • PostgreSQL instalado e rodando. (dica rápida de instalação abaixo no Passo 1)
  • A extensão pg_connect habilitada no PHP.

Passo 1: Instalando o PostgreSQL

Caso ainda não tenha o PostgreSQL instalado, você pode instalá-lo com o seguinte comando no Linux: (pode mudar as dependências conforme sua distro, estou usando um modelo baseado em Debian)

sudo apt-get install postgresql postgresql-contrib

No Windows, você pode baixar e instalar o PostgreSQL a partir do site oficial.

Passo 2: Configurando o PHP para trabalhar com PostgreSQL

Verifique se a extensão pgsql está habilitada no seu arquivo php.ini. Abra o arquivo de configuração do PHP e certifique-se de que a linha abaixo está descomentada:

extension=pgsql

Passo 3: Criando um banco de dados

Agora, crie um banco de dados e uma tabela de exemplo no PostgreSQL. Acesse o PostgreSQL através do terminal ou da interface gráfica: (pode ser utilizado um software de gerenciamento de DB para efetuar este passo, existem vários muito bons)

sudo -u postgres psql
CREATE DATABASE testdb;
CREATE USER testuser WITH PASSWORD 'password';
GRANT ALL PRIVILEGES ON DATABASE testdb TO testuser;

Passo 4: Conectando o PHP ao PostgreSQL

Com o banco de dados criado, podemos conectar o PHP ao PostgreSQL utilizando a função pg_connect. Vamos criar um arquivo PHP chamado db_connect.php:

<?php
// Dados da conexão
$host = "localhost";
$dbname = "testdb";
$user = "testuser";
$password = "password";

// Estabelecendo a conexão
$conn = pg_connect("host=$host dbname=$dbname user=$user password=$password");

if (!$conn) {
    die("Erro ao conectar ao PostgreSQL");
} else {
    echo "Conexão bem-sucedida!";
}
?>

Passo 5: Executando Queries com PHP

Agora que estamos conectados, podemos executar consultas no banco de dados. Vamos criar uma tabela e inserir alguns dados de exemplo:

<?php
// Criando a tabela
$query = "CREATE TABLE produtos (id SERIAL PRIMARY KEY, nome VARCHAR(50), preco DECIMAL(10, 2))";
pg_query($conn, $query);

// Inserindo dados
$query = "INSERT INTO produtos (nome, preco) VALUES ('Notebook', 2999.99)";
pg_query($conn, $query);

// Consultando os dados
$result = pg_query($conn, "SELECT * FROM produtos");
while ($row = pg_fetch_assoc($result)) {
    echo $row['nome'] . " - R$ " . $row['preco'] . "<br>";
}
?>

Passo 6: Tratando Erros e Melhorando a Segurança

Ao trabalhar com banco de dados, é importante tratar os erros e proteger suas consultas contra ataques de injeção SQL. Uma prática recomendada é utilizar consultas preparadas:

<?php
// Consulta preparada para inserir dados
$query = "INSERT INTO produtos (nome, preco) VALUES ($1, $2)";
pg_prepare($conn, "insert_produto", $query);
pg_execute($conn, "insert_produto", array('Smartphone', 1999.99));
?>

Conclusão

Integrar PHP com PostgreSQL é uma tarefa relativamente simples e oferece uma combinação poderosa para o desenvolvimento de aplicações web. Com os passos descritos, você já tem uma base para começar a trabalhar com essas tecnologias. Lembre-se de sempre validar e proteger suas entradas e saídas para garantir a segurança da aplicação.


Rolar para cima