Introdução ao PHP
<p class=\"negrito\">15. Acessando o PostgreSQL via PHP</p>
<p align=\"JUSTIFY\">Estabelecendo conexões</p>
<p align=\"JUSTIFY\">Para acessar bases de dados num servidor Postgres,
é necessário antes estabelecer uma conexão.
Para isso, deve ser utilizado o comando <span class=\"mysql\">pg_connect</span>,
ou o <span class=\"mysql\">pg_pconnect</span>. A diferença
entre os dois comandos é que o pg_pconnect estabelece uma
conexão permanente, ou seja, que não é encerrada
ao final da execução do script. As assinaturas dos
dois comandos são semelhantes, como pode ser verificado a
seguir:</p>
<p align=\"JUSTIFY\"><span class=\"mysql\">int pg_connect(string host,
string porta, string opcoes, string tty, string db);<br>
</span><span class=\"mysql\">int pg_pconnect(string host, string porta,
string opcoes, string tty, string db);</span></p>
<p align=\"JUSTIFY\"></p>
<p align=\"JUSTIFY\">O valor de retorno é um inteiro que identifica
a conexão, ou falso se a conexão falhar. Uma conexão
estabelecida com o comando <span class=\"mysql\">pg_connect</span>
é encerrada ao final da execução do script.
Para encerrá-la antes disso deve ser utilizado o comando
<span class=\"mysql\">pg_close</span>, que tem a seguinte assinatura:</p>
<p align=\"JUSTIFY\"></p>
<p align=\"JUSTIFY\" class=\"mysql\">int pg_close(int identificador da
conexão );</p>
<p align=\"JUSTIFY\"></p>
<p align=\"JUSTIFY\">IMPORTANTE: o comando <span class=\"mysql\">pg_close</span>
não encerra conexões estabelecidas com o comando <span class=\"mysql\">pg_pconnect</span>.</p>
<p align=\"JUSTIFY\">Os comandos pg_connect e pg_pconnect também
podem ser utilizados da seguinte forma:</p>
<p align=\"JUSTIFY\" class=\"mysql\">pg_connect(\"dbname=db port=n host="localhost"
tty="tty" options=opcoes user=usuario password=senha\");</p>
<p align=\"JUSTIFY\"> </p>
<p align=\"JUSTIFY\">Realizando consultas</p>
<p align=\"JUSTIFY\">Para executar consultas SQL no Postgres, utiliza-se
o comando <span class=\"mysql\">pg_exec</span>, que tem a seguinte
assinatura:</p>
<p align=\"JUSTIFY\"></p>
<p align=\"JUSTIFY\" class=\"mysql\">int pg_exec(int conexao, string query
);</p>
<p align=\"JUSTIFY\"></p>
<p align=\"JUSTIFY\">Onde query é a expressão SQL a ser
executada, sem o ponto-e-vírgula no final, e conexao é
o identificador da conexão a ser utilizada. A consulta será
executada na base de dados selecionada quando for efetuada a conexão
com o banco. Para saber qual a base de dados selecionada, basta
utilizar a função string pg_dbname, que tem a seguinte
assinatura:</p>
<p align=\"JUSTIFY\"></p>
<p align=\"JUSTIFY\" class=\"mysql\">string pg_dbname(int conexão);</p>
<p align=\"JUSTIFY\"></p>
<p align=\"JUSTIFY\">É bom lembrar que uma consulta não
significa apenas um comando SELECT. A consulta pode conter qualquer
comando SQL aceito pelo banco.</p>
<p align=\"JUSTIFY\">O valor de retorno é falso se a expressão
SQL for incorreta, e diferente de zero se for correta. No caso de
uma expressão SELECT, as linhas retornadas são armazenadas
numa memória de resultados, e o valor de retorno é
o identificador do resultado. Alguns comandos podem ser realizados
com esse resultado:</p>
<p align=\"JUSTIFY\"> </p>
<p align=\"JUSTIFY\">Verificando o erro na execução
de uma query</p>
<p align=\"JUSTIFY\">Para ter acesso à mensagem de erro no caso
de falha na execução de uma query SQl, basta utilizar
o comando pg_errormessage():</p>
<p align=\"JUSTIFY\" class=\"mysql\">string pg_errormessage(int connection);</p>
<p align=\"JUSTIFY\"><br>
Apagando o resultado</p>
<p align=\"JUSTIFY\" class=\"mysql\">int pg_freeresult(int result);</p>
<p align=\"JUSTIFY\"></p>
<p align=\"JUSTIFY\">O comando pg_freeresult deve ser utilizado para
apagar da memória o resultado indicado. No PHP 4, este comando
tornou-se obsoleto, já que o interpretador trata de apagar
o resultado automaticamente em caso de não ser mais utilizado.</p>
<p align=\"JUSTIFY\"><br>
Número de linhas</p>
<p align=\"JUSTIFY\" class=\"mysql\">int pg_numrows(int result);</p>
<p align=\"JUSTIFY\"></p>
<p align=\"JUSTIFY\">O comando pg_numrows retorna o número de
linhas contidas num resultado.</p>
<p align=\"JUSTIFY\"> </p>
<p align=\"JUSTIFY\">Utilizando os resultados</p>
<p align=\"JUSTIFY\">Existem diversas maneiras de ler os resultados
de uma query SELECT. As mais comuns serão vistas a seguir:</p>
<p align=\"JUSTIFY\"></p>
<p align=\"JUSTIFY\" class=\"mysql\">int pg_result(int result, int linha,
mixed [campo] );</p>
<p align=\"JUSTIFY\"></p>
<p align=\"JUSTIFY\">Retorna o conteúdo de uma célula
da tabela de resultados. </p>
<p align=\"JUSTIFY\"><span class=\"mysql\">result</span> é o identificador
do resultado;</p>
<p align=\"JUSTIFY\"><span class=\"mysql\">linha</span> é o número
da linha, iniciado por 0;</p>
<p align=\"JUSTIFY\"><span class=\"mysql\">campo</span> é uma string
com o nome do campo, ou um número correspondente ao número
da coluna. Se foi utilizado um alias na consulta, este deve ser
utilizado no comando pg_result.</p>
<p align=\"JUSTIFY\">Este comando deve ser utilizado apenas para resultados
pequenos. Quando o volume de dados for maior, é recomendado
utilizar um dos métodos a seguir:</p>
<p align=\"JUSTIFY\"></p>
<p align=\"JUSTIFY\" class=\"mysql\">array pg_fetch_array(int result,
int linha);</p>
<p align=\"JUSTIFY\"></p>
<p align=\"JUSTIFY\">Lê uma linha do resultado e devolve um array,
cujos índices são os nomes dos campos. O índice
das linhas é iniciado por zero.</p>
<p align=\"JUSTIFY\"></p>
<p align=\"JUSTIFY\" class=\"mysql\">array pg_fetch_row(int result, int
linha);</p>
<p align=\"JUSTIFY\"></p>
<p align=\"JUSTIFY\">Semelhante ao comando anterior, com a diferença
que os índices do array são numéricos, iniciando
pelo 0 (zero).</p>
<p align=\"JUSTIFY\">Estabelecendo conexões</p>
<p align=\"JUSTIFY\">Para acessar bases de dados num servidor Postgres,
é necessário antes estabelecer uma conexão.
Para isso, deve ser utilizado o comando <span class=\"mysql\">pg_connect</span>,
ou o <span class=\"mysql\">pg_pconnect</span>. A diferença
entre os dois comandos é que o pg_pconnect estabelece uma
conexão permanente, ou seja, que não é encerrada
ao final da execução do script. As assinaturas dos
dois comandos são semelhantes, como pode ser verificado a
seguir:</p>
<p align=\"JUSTIFY\"><span class=\"mysql\">int pg_connect(string host,
string porta, string opcoes, string tty, string db);<br>
</span><span class=\"mysql\">int pg_pconnect(string host, string porta,
string opcoes, string tty, string db);</span></p>
<p align=\"JUSTIFY\"></p>
<p align=\"JUSTIFY\">O valor de retorno é um inteiro que identifica
a conexão, ou falso se a conexão falhar. Uma conexão
estabelecida com o comando <span class=\"mysql\">pg_connect</span>
é encerrada ao final da execução do script.
Para encerrá-la antes disso deve ser utilizado o comando
<span class=\"mysql\">pg_close</span>, que tem a seguinte assinatura:</p>
<p align=\"JUSTIFY\"></p>
<p align=\"JUSTIFY\" class=\"mysql\">int pg_close(int identificador da
conexão );</p>
<p align=\"JUSTIFY\"></p>
<p align=\"JUSTIFY\">IMPORTANTE: o comando <span class=\"mysql\">pg_close</span>
não encerra conexões estabelecidas com o comando <span class=\"mysql\">pg_pconnect</span>.</p>
<p align=\"JUSTIFY\">Os comandos pg_connect e pg_pconnect também
podem ser utilizados da seguinte forma:</p>
<p align=\"JUSTIFY\" class=\"mysql\">pg_connect(\"dbname=db port=n host="localhost"
tty="tty" options=opcoes user=usuario password=senha\");</p>
<p align=\"JUSTIFY\"> </p>
<p align=\"JUSTIFY\">Realizando consultas</p>
<p align=\"JUSTIFY\">Para executar consultas SQL no Postgres, utiliza-se
o comando <span class=\"mysql\">pg_exec</span>, que tem a seguinte
assinatura:</p>
<p align=\"JUSTIFY\"></p>
<p align=\"JUSTIFY\" class=\"mysql\">int pg_exec(int conexao, string query
);</p>
<p align=\"JUSTIFY\"></p>
<p align=\"JUSTIFY\">Onde query é a expressão SQL a ser
executada, sem o ponto-e-vírgula no final, e conexao é
o identificador da conexão a ser utilizada. A consulta será
executada na base de dados selecionada quando for efetuada a conexão
com o banco. Para saber qual a base de dados selecionada, basta
utilizar a função string pg_dbname, que tem a seguinte
assinatura:</p>
<p align=\"JUSTIFY\"></p>
<p align=\"JUSTIFY\" class=\"mysql\">string pg_dbname(int conexão);</p>
<p align=\"JUSTIFY\"></p>
<p align=\"JUSTIFY\">É bom lembrar que uma consulta não
significa apenas um comando SELECT. A consulta pode conter qualquer
comando SQL aceito pelo banco.</p>
<p align=\"JUSTIFY\">O valor de retorno é falso se a expressão
SQL for incorreta, e diferente de zero se for correta. No caso de
uma expressão SELECT, as linhas retornadas são armazenadas
numa memória de resultados, e o valor de retorno é
o identificador do resultado. Alguns comandos podem ser realizados
com esse resultado:</p>
<p align=\"JUSTIFY\"> </p>
<p align=\"JUSTIFY\">Verificando o erro na execução
de uma query</p>
<p align=\"JUSTIFY\">Para ter acesso à mensagem de erro no caso
de falha na execução de uma query SQl, basta utilizar
o comando pg_errormessage():</p>
<p align=\"JUSTIFY\" class=\"mysql\">string pg_errormessage(int connection);</p>
<p align=\"JUSTIFY\"><br>
Apagando o resultado</p>
<p align=\"JUSTIFY\" class=\"mysql\">int pg_freeresult(int result);</p>
<p align=\"JUSTIFY\"></p>
<p align=\"JUSTIFY\">O comando pg_freeresult deve ser utilizado para
apagar da memória o resultado indicado. No PHP 4, este comando
tornou-se obsoleto, já que o interpretador trata de apagar
o resultado automaticamente em caso de não ser mais utilizado.</p>
<p align=\"JUSTIFY\"><br>
Número de linhas</p>
<p align=\"JUSTIFY\" class=\"mysql\">int pg_numrows(int result);</p>
<p align=\"JUSTIFY\"></p>
<p align=\"JUSTIFY\">O comando pg_numrows retorna o número de
linhas contidas num resultado.</p>
<p align=\"JUSTIFY\"> </p>
<p align=\"JUSTIFY\">Utilizando os resultados</p>
<p align=\"JUSTIFY\">Existem diversas maneiras de ler os resultados
de uma query SELECT. As mais comuns serão vistas a seguir:</p>
<p align=\"JUSTIFY\"></p>
<p align=\"JUSTIFY\" class=\"mysql\">int pg_result(int result, int linha,
mixed [campo] );</p>
<p align=\"JUSTIFY\"></p>
<p align=\"JUSTIFY\">Retorna o conteúdo de uma célula
da tabela de resultados. </p>
<p align=\"JUSTIFY\"><span class=\"mysql\">result</span> é o identificador
do resultado;</p>
<p align=\"JUSTIFY\"><span class=\"mysql\">linha</span> é o número
da linha, iniciado por 0;</p>
<p align=\"JUSTIFY\"><span class=\"mysql\">campo</span> é uma string
com o nome do campo, ou um número correspondente ao número
da coluna. Se foi utilizado um alias na consulta, este deve ser
utilizado no comando pg_result.</p>
<p align=\"JUSTIFY\">Este comando deve ser utilizado apenas para resultados
pequenos. Quando o volume de dados for maior, é recomendado
utilizar um dos métodos a seguir:</p>
<p align=\"JUSTIFY\"></p>
<p align=\"JUSTIFY\" class=\"mysql\">array pg_fetch_array(int result,
int linha);</p>
<p align=\"JUSTIFY\"></p>
<p align=\"JUSTIFY\">Lê uma linha do resultado e devolve um array,
cujos índices são os nomes dos campos. O índice
das linhas é iniciado por zero.</p>
<p align=\"JUSTIFY\"></p>
<p align=\"JUSTIFY\" class=\"mysql\">array pg_fetch_row(int result, int
linha);</p>
<p align=\"JUSTIFY\"></p>
<p align=\"JUSTIFY\">Semelhante ao comando anterior, com a diferença
que os índices do array são numéricos, iniciando
pelo 0 (zero).</p>
Alguem descobriu onde baixar esse tutorial???
02/09/2008 8:57am
(~16 anos atrás)
Estou procurando a dias esse arquivos PDF com as imagens, pois não estou encontrando o arquivo completo, quero imprimir isso.
Obriado.
Obriado.
28/06/2007 5:30am
(~17 anos atrás)
Não consigo fazer o download através do link (http://phpbrasil.com/click.php?send=http://www.helo.tato.nom.br/arquivos/apostilaphp_mv.pdf).
01/06/2006 5:22am
(~18 anos atrás)
tentei no passado aprender por apostila,
mais livros ajudar muito ,em especial aquele que envolver o leitor num projeto.
esse tipo de trabalho ou livro são excelente ajuda : mais legal pela iniciativa
25/11/2005 10:32am
(~19 anos atrás)
As imagens não estão aparecendo e tentei acessar o site do autor, mas também não funciona.
Alguém tem disponível para download?
Alguém tem disponível para download?
24/06/2005 7:06pm
(~19 anos atrás)
dizem q a primeira impreção é a q fica,
axei bastante intuitivo.
:)
axei bastante intuitivo.
:)
24/04/2005 11:56pm
(~19 anos atrás)
Galera, quem estiver afim de baixar o tutorial é só acessar o seguinte link
http://www.helo.tato.nom.br/arquivos/apostilaphp_mv.pdf
Té +
http://www.helo.tato.nom.br/arquivos/apostilaphp_mv.pdf
Té +
11/03/2005 7:31pm
(~20 anos atrás)