Classe PHP para conexão com banco de dados MySQL

Disponibilizo, neste post, uma classe PHP para conexão com banco de dados MySQL.

Há alguns meses atrás, criei uma classe PHP para conexão com banco de dados MySQL. Nada muito complexo - chega a ser até bem simples, na verdade. Ela possui a capacidade de se conectar a 1 servidor por vez e foi feita utilizando orientação a objetos; com ela, pode-se fazer qualquer operação SQL, tal como insert, select, update, delete, etc.

O arquivo está bem comentado, a meu ver, e, creio, não haverá maiores problemas para entender seu funcionamento.

Tudo o que se deve fazer, para começar a utilizá-la, é preecher os valores de algumas constantes, logo no início do código. Opcionalmente, pode-se alterar as mensagens para cada tipo de erro.

Também, lembrar-se de referenciar corretamente o link de “voltar” para quando cada erro acontece.

Vamos a um exemplo de uso. Inicialmente, deve chamar a classe - vou considerar que ela está na mesma pasta, para o exemplo.

Aí, como vocês podem constarar na própria codificação, há um parâmetro a ser passado, no momento da chamada do método construtor. Esse parâmetro é a query que se quer fazer. Vamos fingir que temos uma tabela “usuarios” e queremos pegar o nome todos os cadastrados.

1
2
3
4
5
<?php
[...]
Conexao("SELECT nome FROM usuarios");
[...]
?>

Mas, dependendo da aplicação, é certo de não se limitar a somente uma query por página. Então, para cada consulta SQL que quisermos efetuar, não é preciso que se chame o método construtor. Conforme o manual oficial do PHP, a respeito da função “mysql_query”:

A conexão MySQL. se o identificador de conexão não for especificado, a ultima conexão aberta por mysql_connect() é assumida. Se uma conexão assim não for encontrada, ela irá tentar criar uma como se a função mysql_connect() fosse chamada sem argumentos. Se uma conexão não for encontrada ou estabelecida, um aviso de nível E_WARNING é gerado.

Então, depois da primeira chamada do método contrutor, caso se queira realizar outra query, basta chamar a função nativa mysql_query que, conforme as especificações oficiais, o script utilizará a última conexão aberta. Se, depois da consulta ao nome dos usuarios, quiséssemos saber cada idade, por exemplo, bastaria:

1
2
3
4
5
<?php
[...]
mysql_query("SELECT idade FROM usuarios");
[...]
?>

Então, o “mini-script” de exemplo ficaria:

1
2
3
4
5
6
7
8
9
<?php
[...]
require_once("Conexao.php");
[...]
Conexao("SELECT nome FROM usuarios");
[...]
mysql_query("SELECT idade FROM usuarios");
[...]
?>

Até hoje a classe PHP tem me servido bem, mas se alguém tiver algum conselho de como a classe pode ser melhorada, eu aceito! :-)

These icons link to social bookmarking sites where readers can share and discover new web pages.
  • DiHITT
  • Linkk
  • Do Melhor
  • Rec6
  • StumbleUpon
  • del.icio.us
Compare Produtos, Lojas e Preços

4 comentários em “Classe PHP para conexão com banco de dados MySQL”


  1. 1 Gevã

    Bem interessante Tárcio. Um try catch lá em resultado ficaria bacana. O uso de self ficou legal mas mas preferiria $this. Que query você costuma passar para o construtor para testar o banco? Ou você usa uma nova conexão toda vez que for fazer uma query?

  2. 2 Tárcio Zemel

    @Gevã

    É, na época eu pensei num tratamento de exceções, mas acabou que implementei desse jeito, mesmo… Por falar nisso, você saberia me dizer quais seriam os benefícios em se usar try/catch, em detrimento do que está atualmente?

    Quanto à maneira de se usar, coloquei um <ins> no artigo, em sua homenagem! :-)

  3. 3 Gevã

    Sobre o try/catch em uma palavra: “buniteza” :-D, código fica mais elegante. Vantagem de verdade é que você não precisaria do @ para bloquear o aviso do erro. O try/catch também oferece uma maneira de você tratar o aviso de erro de forma mais flexível. E também é útil quando um dado enviado por um usuário pode causar algum erro. Mas para ser sincero não costumo usá-lo mesmo.

  1. 1 Acesso a banco de dados no PHP « Gevã Schaefer

Comente!