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 PostgreSQL, onde 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.