Provendo dados em um servidor PostgreSQL através do Apache e PHP

Aprenda a configurar um serviço HTTP com suporte a PHP e acesso a bancos de dados no PostgreSQL.

[ Hits: 27.166 ]

Por: Stefano Fontes em 10/11/2010


Acessando o banco de dados



Vamos agora criar um script em PHP para acessar o banco de dados de teste.

Vá para o diretório /var/www/htdocs, apague o conteúdo do arquivo anteriormente criado "teste.php" e edite-o da seguinte forma:

# vi teste.php

<!--CÓDIGO HTML/PHP A SER INSERIDO NO ARQUIVO teste.php-->

<html>
<head>
<title>Teste de PHP</title>
</head>
<body>
<table border = "1">
<caption>TESTE DE PHP COM SQL</caption>
<tr>
<th>NOME</th>
<th>ENDEREÇO</th>
<th>TELEFONE</th>
</tr>
<?php
$conn = pg_connect("host=localhost dbname=teste user=postgres password=senha");
$result = pg_exec($conn, "select * from teste order by nome asc");
$linhas = pg_numrows($result);
$i = 0;
while($i < $linhas):
        $dados = pg_fetch_object($result, $i);
        echo "<tr>";
        echo "<td>" . $dados->nome . "</td>";
        echo "<td>" . $dados->endereco . "</td>";
        echo "<td>" . $dados->telefone . "</td>";
        echo "</tr>";
        $i++;
endwhile;
pg_freeresult($result);
pg_close($conn);
?>
</table>
</body>
</html>

Salve e saia do editor.

Observação importante: Como utilizei a versão 4.3.10-22 do PHP, as funções acima pg_exec, pg_numrows e pg_freeresult aqui possuem estes nomes; entretanto, os nomes atuais destas funções são respectivamente: pg_query, pg_num_rows e pg_free_result; portanto se você estiver utilizando uma versão mais recente do PHP faça estas substituições.

A seguir, abra um navegador "web" na máquina local ou em uma outra máquina da rede e digite o endereço do servidor onde estão "rodando" o Apache/PHP:

http://localhost/teste.php
ou
http://<ip-ou-nome-do-servidor>/teste.php

Caso tudo esteja correto você verá em seu browser a tabela criada no passo anterior no banco de dados de teste, algo como a figura abaixo:
Linux: Provendo dados em um servidor PostgreSQL através do Apache e PHP
Se as coisas não ocorrerem como esperado, consulte novamente a documentação de instalação/configuração do Apache, do PHP e também do PostgreSQL, além de revisar os passos aqui descritos, fazendo se necessário as devidas adaptações e correções.

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Iniciando
   3. Testando
   4. Criando um banco de dados de teste
   5. Acessando o banco de dados
   6. Conclusão
Outros artigos deste autor

Criando um repositório criptografado de dados com Cryptsetup (dm-crypt) sem (re)particionamento do HD

Configurando disquete e pendrive para boot sem suporte na BIOS

Leitura recomendada

Criando backup do MySQL com o mysqldump

Armazenando datas de uma outra forma

Sistema PDV com PHP-GTK2 e ACBrMonitor (parte 1)

Como criar um sistema de autenticação de usuários usando PHP/MySQL

Sistema PDV com PHP-GTK2 e ACBrMonitor (parte 2)

  
Comentários
[1] Comentário enviado por jcb em 19/11/2010 - 00:22h

schaf , show de bola seu artigo ...
porém, no arquivo teste.php na linha 16 ($linhas = pg_numrows($result);) só tem um erro ae, que o certo é pg_num_rows.
Abs

[2] Comentário enviado por schaf em 26/11/2010 - 12:40h

Prezado jcb:

Muito grato pelo seu comentário.
Entretanto, a correção, por você (muito bem) observada, foi mencionada por mim no artigo, logo abaixo do código do teste.php, e deve-se ao fato de diferença de versões do PHP utilizadas.
Para maior esclarecimento reproduzo abaixo o referido trecho do artigo:

"Observação importante: Como utilizei a versão 4.3.10-22 do PHP, as funções acima pg_exec, pg_numrows e pg_freeresult aqui possuem estes nomes; entretanto, os nomes atuais destas funções são respectivamente: pg_query, pg_num_rows e pg_free_result; portanto se você estiver utilizando uma versão mais recente do PHP faça estas substituições."

Muito grato pela contribuição!


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts