Acesso a banco de dados no PHP

O Tárcio disponibilizou uma classe de acesso a banco de dados que ele criou e isso me despertou a também mostrar como lido com meus dados no dia-a-dia.

Eu defino meu acesso ao banco de dados em um arquivo que mais tarde será incluido em outro, onde precisarei usar funções que acessam o banco de dados. O nome desse arquivo varia muito de programador para programador. Uns chamam database outros db, enfim o nome não é importante.

Minha conexão é a mais simples possível:

mysql_connect(’host’,'login’,'password’);
mysql_select_db(’database’);

O que geralmente faço é tratar a conexão e em caso de falha exibir uma mensagem amigável e mandar uma mensagem via msn ou email para o administrador, se possível, mas prefiro tratar disso em outro post.

A seguir defino uma simples função de select:

function select($sql) {
if (!($resultado = mysql_query($sql))) {
echo ‘Erro ao selecionar : “‘, $sql, ‘” Causa: “‘,mysql_error(), ‘”<br>’;
return false;
} else {
while ($linha = mysql_fetch_array($resultado)) {
$retorno[] = $linha;
}
return empty($retorno)?array():$retorno;
}
}

Essa função tem duas boas vantagens: Já “fetcha” o resource mysql em um array e caso não haja retorno retorna um array vazio. Gosto disso por que geralmente uso a função de select dentro de um foreach e sem a função ele daria um erro caso não conseguisse achar nenhum registro.

A seguir uma função command:

function command($sql) {
if (!($resultado = mysql_query($sql))) {
echo ‘Erro do Banco de Dados: ‘, mysql_error(), ‘<br>’;
return false;
} else {
return true;
}
}

Essa só serve para mandar instruções de insert, update e delete. Gosto dela por que ela sempre retorna true ou false.

Por enquanto essas funções parecem não fazer muito sentido mas esperem os próximos posts e verão como elas fazem a diferença.

Etiquetas: , ,

2 Respostas para “Acesso a banco de dados no PHP”

  1. Tárcio Zemel Disse:

    EPA! Enviar uma mensagem via MSN no tratamento de erros?

    Aguardo ansiosamente o post sobre como fazer isso!

    :-D

  2. gevaspm Disse:

    Ainda vai demorar, primeiro quero passar pela persistência.

Deixe um comentário