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.