PHP & PostgreSQL


               Parte 1 - PHP com SGBD PostgreSQL


                                                                            
                            Conexão em PHP com PostgreSQL

Conforme o prometido no post “PHP com SGBD PostgreSQL - Parte 1”, vou explicar de forma simples como criar uma conexão em PHP com o PostgreSQL. Em caso de dúvida, se efetuou a configuração corretamente ou se a fez de fato, revise lendo a parte 1, por que do contrário não será possível seguir a diante nesta postagem.

Etapas:

  • 1 - Classe Conexão

    • Primeiramente aproveito para fundamentar que nesta classe o comando principal é o pg_connect(), que se utiliza de parâmetros para conexão ao PostgreSQL.Segue os principais:
      • Host (obrigatório): IP da máquina onde está hospedado o banco ou localhost se for o próprio computador que você esta a criar a conexão;
      • User (obrigatório): usuário do banco de dados pode ser o usuário postgres ou crie outro com todos os privilégios;
      • Password (obrigatório): senha desse usuário;
      • Dbname (obrigatório):  nome do banco de dados;
      • Port (opcional):  porta de acesso, por default sempre 5432.
    • Agora crie um arquivo chamado conexão.class.php em um editor que preferir da linguagem. Obs: o (“.class”) simplesmente servirá para identificação no nome do arquivo PHP.
      • Inserir esta sintaxe abaixo:

      • No início da classe temos os atributos definidos, cada qual com sua finalidade para o comando pg_connect e os demais auxiliares. Logo em seguida a função “Conexao()” que recebe como parâmetro o “$banco” (nome do banco) que será apontado no arquivo index.php onde criaremos à diante. 
      • Na função Conexao() perceba que o atributo $dbname declarado na classe recebe o parâmetro $banco e em seguida o atributo $strCon recebe uma string com os valores fixados nos atributos da classe e o $dbname o único não fixo na classe.
      • A função Open() é a responsável por abrir a conexão com o PostgreSQLonde o pg_connect recebe a string do atributo $strCon citado logo acima. Se os valores nesta string estiverem corretos o valor  true do tipo boolean é repassado para o atributo $con ou false em caso negativo. Outro detalhe não menos importante é o “@” na frente do pg_connect que inibe / oculta as mensagens de erro na ação do comando. Por segurança é aconselhável deixá-lo evitando a visualização de informações referente ao acesso ao banco de dados. Claro que enquanto estiver em teste, pode retirá-lo a fim de ter uma informação mais precisa se ocorrer algum erro. Pode-se tratar essas mensagens de erro de formas diferentes, porém deixo para uma próxima oportunidade.
      • A função Close() como o nome já diz serve para fechar a conexão com o PostgreSQL e é importante para evitarmos muitas conexões abertas em estado idle (inativas).
      • E por último na classe a função StatusCon() que permite saber através do atributo $con se a conexão está aberta ou fechada. Veja que nesta função estou utilizando uma forma de apresentar a informação “Conectado” e “Desconectado” com a impressão na própria página e outra comentada em javascript que acaba por gerar uma mensagem de alerta que interage com o usuário. Fique a vontade para utilizar qualquer uma delas.


  • 2 - Arquivo de Acesso e Teste


    • Agora você deverá criar um arquivo chamado index.php, onde este será o nosso teste com a classe conexão.
      • Insira neste arquivo a sintaxe abaixo:


      • Na terceira linha do index.php você possui o include com o objetivo de relacionar a classe com o nosso arquivo, obviamente informando o caminho onde consta a nossa classe.
      • Após instanciamos o objeto Conexao() do arquivo classe, passando como parâmetro o nome do banco que desejamos nos conectar, esta instanciação é recebida pela variável $minhaConexao.
      • Em seguida é feito a chamada dos métodos abrir e fechar conexão com seus respectivos status para observarmos o resultado das ações durante sua execução.
      • Parabéns, agora você sabe como conectar o PHP com o PostgreSQL de uma forma bem simples, entretanto é possível criar outros métodos para deixar este conexão segura e flexível para trabalhar com mais de um banco de dados apenas.
    • Dica, com este tipo de conexão é aconselhável chamá-la no momento em que se fazer necessário manter ou consultar dados do seu banco, deixando por menos tempo aberta e vulnerável a conexão para um possível SQL Injection. Em se tratando de SQL Injection, é melhor deixar para um próximo postagem.


Você não tem um SGBD PostgreSQL ainda? Escolha o que melhor lhe atenda e Baixe já, na nossa página de Downloads!

Gostou desse post? Vamos lá, deixe seu comentário com sugestões, dúvidas ou reclamações, não deixa de participar... lembre-se,

Quem conhecimento compartilha, inteligência desenvolve, sabedoria repassa.



Fonte: autoria própria

Nenhum comentário :

Postar um comentário

Obrigado por sua participação.