Ser Programador

Como executar query no PostgreSql com PHP

Aprenda como executar suas queries no banco de dados PostgreSql usando o PHP.



Caso queira saber como efetuar conexões com banco PostgreSql usando o PHP, dê uma olhada NESTE ARTIGO.


Efetuar queries no PostgreSql usando o PHP é bastante simples, na verdade. Podemos utilizar apenas duas funções para tal: pg_query e pg_fetch_all.

Considerando que você já tenha efetuado a conexão com o banco de dados, pasta utilizar o resource da conexão com o banco PostgreSql para fornecer para a função pg_query juntamente da query a ser efetuada.


Para este exemplo, vamos considerar uma tabela tb_usuarios, onde claramente são registrados os usuários de um sistema fictício:

		------------------------------------
		|            tb_usuarios           |
		------------------------------------
		| id_usuario | nome   | nascimento |
		------------------------------------
		|          1 | Alan   | 1999-01-01 |
		------------------------------------
		|          2 | Victor | 1999-01-02 |
		------------------------------------
		|          1 | José   | 1999-01-03 |
		------------------------------------
	

Para dar andamento nos exemplos deste artigo, eu vou utilizar o mesmo exemplo de conxeão que fizemos no artigo anterior. Portanto, LEIA AQUI o artigo.

Vamos executar nossa query:

		$query = "select * from tb_usuarios";
		$resultQuery = pg_query($pgConnection, $query);
	

Neste exemplo estamos listando todos os registros de usuários da tabela tb_usuarios, existente no nosso banco.

Estamos passando como primeiro parâmetro da função pg_query o resource resultado da conexão com o banco de dados;

Estamos passando como segundo parâmetro da função pg_query a query para ser executada no banco de dados;

O resultado armazenado na variável $resultQuery é do tipo resource pgsql result;


Vamos agora visualizar os dados resultantes da nossa consulta:

		$dadosConsulta = pg_fetch_all($resultQuery);
		foreach ($dadosConsulta as $row) {
			echo '<p>Usuário ' . $row['nome'] . ' (ID ' . $row['id_usuario'] . ') é nascido em ' . date("d/m/Y", strtotime($row['nascimento'])) . '.</p>';
		}
	

Estamos utilizando a função pg_fetch_all, passando como parâmetro o resource resultado da execução da função pg_query, e obtemos um array multidimensional contendo todos registros coletados pela consulta;

Como o resultado da função pg_fetch_all é um array, utilizamos o foreach para percorrer esse array e printar em tela a string construída com os dados da consulta;


O resultado do foreach será algo parecido com:

		Usuário Alan (ID 1) é nascido em 01/01/1991.
		Usuário Victor (ID 2) é nascido em 01/01/1992.
		Usuário José (ID 3) é nascido em 01/01/1993.