Escolar Documentos
Profissional Documentos
Cultura Documentos
Escrito por Fabio Centenaro Nov 2nd, 2007 Categoria: PHP, Programao O PHP oferece poderosos recursos nativos para acesso e manipulao de dados. Umas das dificuldades enfrentadas no dia-a-dia quando precisamos fazer uma aplicao conversar com dois ou mais servidores de banco de dados. Por exemplo, quando uma aplicao precisa rodar tanto em mysql quanto em PostgreSQL No PHP, para acessar o mysql usamos a funo mysql_connect. J para o PostgreSQL, a funo pg_sql. E assim funciona para todos os comandos de operao com os bancos de dados, sempre utilizando o tipo do banco como prefixo. Na hora de migrar de um banco para outro, a manuteno do sistema fica grande e dispendiosa. E fazer ifs para testar o banco que est sendo utilizado a cada operao ainda pior, pois se um dia algum resolver usar outro banco, a desgraa est instalada. Podemos resolver este problema utilizando a biblioteca ADODB, responsvel pela abstrao do banco de dados. Com ela, alm de facilitar, e muito, a manipulao dos dados, ainda temos a possibilidade de ter um sistema que suporta a maioria dos bancos de dados existentes no mercado com pouca ou nenhuma alterao no cdigo da aplicao. O download da biblioteca pode ser feito no seguinte endereo: http://adodb.sourceforge.net/#download
Manipulando dados
Como qualquer finalidade de um banco de dados podermos manipular os dados, seja inserindo, alterando, excluindo ou recuperando informaes, a biblioteca ADODB possui recursos que facilitam e agilizam estes processos. Inserindo, alterando e excluindo Executar expresses SQL no poderia ser mais fcil: basta chamar o mtodo execute do objeto de conexo e voil, estamos executando nossos comandos. Alguns exemplos: $db->execute(INSERT INTO TABELA (CAMPO1, CAMPO2) VALUES (1,2)); $db->execute(UPDATE TABELA SET CAMPO2 = 1 WHERE CAMPO1 = 0 ); $db->execute(DELETE FROM TABELA WHERE CAMPO1 = 2 ); Simples, no? Buscando dados Uma outra funo muito usada a de buscar os dados que esto armazenados, os famosos selects. Pois bem, isso tambm no tarefa difcil. Vamos ao exemplo: $rs = $db->execute(SELECT * FROM TABELA); Note que usamos o mesmo mtodo execute, porm quando executamos um comando select a biblioteca nos retorna um conjunto de dados na varivel $db. E atravs dessa varivel que iremos acessar os dados. Usando a propriedade fields temos acesso a todos os campos retornados pelo nosso select. Podemos informar o ndice ou mesmo o nome do campo, como vemos a seguir: $variavel = $rs->fields[0]; echo $rs->fields["campo1"]; Novamente vemos como simples! Para varrer todos os registros retornados, ou seja, fazer um loop pelos dados, usamos a seguinte estrutura: while (! $rs->EOF) { //comandos a serem executados. Ex: echo $rs->fields["nome"]; $rs->movenext(); } Pronto, dessa forma percorremos todo o recordset e imprimimos na pgina o campo nome que foi retornado da consulta.
echo $rs->fields(campo1 ); Com isso cai por terra a possibilidade de acessar qualquer tipo de banco de dados sem alterao de cdigo.
Concluindo
Fica fcil notar o quanto utilizar uma biblioteca como essa, alm da excelente portabilidade, pode agilizar o desenvolvimento de uma aplicao. A ADODB um must-have em qualquer site ou sistema desenvolvido em PHP. Consultando o manual da biblioteca possvel expandir ainda mais o leque de recursos que ela proporciona. No deixe de conferir!