Seções iMasters
PHP

Abstração de Banco de Dados – Trabalhando com ADODB

Fala galera! Para fechar a nossa série sobre
abstração de banco de dados, apresentarei essa semana
exemplos utilizando a classe ADODB.

Abaixo alguns banco de dados suportados pela classe
ADODB:

Banco de dados

Variáveis de conexão

MySQL

mysql

PostgreSQL

postgres

Interbase

ibase

Firebird

firebird

Informix

informix

Oracle

oci8

MS SQL

mssql

Foxpro

vfp

ADO

ado

Sybase

sybase

FrontBase

fbsql

DB2

db2

Baixando o ADODB

Acesse o site: http://sourceforge.net/projects/adodb/

Instalando o ADODB

Apenas descompacte o arquivo em uma pasta .

Primeiro exemplo: conexao.php

O script abaixo tem por finalidade apenas testar a conexão
com o banco de dados. Como exemplo, utilizaremos o MySQL.

<?
//PATH ONDE SE ENCONTRA A CLASSE
ADODB

include("c:\\pagina\\adodb\\adodb.inc.php");

//EFETUA
A CONEXÃO

$conn = NewADOConnection("mysql");
$conn->connect("localhost","root",
"", "imasters");
?>

Depurando

Linha 10: Aqui informamos
o path onde se encontra os arquivos da classe ADODB.

Linha 13: Informamos
o banco de dados que iremos utilizar.

Linha 14: Informamos
o host, usuário do bd, senha do bd e o database a ser utilizado
respectivamente.

Executando

Se você executar o script acima e obtiver
como resultado uma tela em branco, é sinal que a conexão
foi efetuada com sucesso.

Consulta ao banco de dados: consulta.php

Agora faremos um exemplo que consiste em efetuar
uma consulta ao nosso banco de dados.
Utilizaremos a tabela e os dados do artigo anterior (http://www.imasters.com.br/artigo.php?cn=3052&cc=44).

Linha 17 - Montamos
a nossa query que irá trazer os dados da tabela colunistas.

Linha 22 – Executamos
a query.

Linha 24 – Verificamos
se ocorreu algum problema na execução, se der erro,
emitimos uma mensagem.

Linha 37- Exibimos
o resultado da nossa query. EOF = End of file, ou seja, exibir
tudo o que está em $result até o seu fim.

Linha 47 – Apontamos
para o próximo registro.

Resultado

Inserindo dados: inserir.php

Script bem simples onde iremos inserir um registro
em nossa base de dados.

<?
//PATH ONDE SE ENCONTRA A CLASSE ADODB
include("c:\\pagina\\adodb\\adodb.inc.php");

//EFETUA
A CONEXÃO

$conn = NewADOConnection("mysql");
$conn->connect("localhost","root",
"", "imasters");

//SQL
$sql = "
INSERT INTO colunistas (NOME, ASSUNTO) VALUES(“BELTRANO”,
“TESTE”)";

//EXECUTA
O SQL

$result = $conn->Execute($sql);

//VERIFICA
SE FOI EXECUTADO COM SUCESSO

if (!$result) {
$msg = $conn->ErrorMsg();
}

//VERIFICA
if($msg) {
echo "ERRO!! Inclusão não efetuada.";
}
else {
echo "Parabéns! Registro incluído.";
}
?>

Para saber mais sobre a classe ADODB, não
deixe de visitar:

http://adodb.sourceforge.net/
http://sourceforge.net/projects/adodb/

Para conferir os outros artigos dessa série
sobre abstração de banco de dados, acesse:
http://www.imasters.com.br/artigo.php?cn=2997&cc=44

http://www.imasters.com.br/artigo.php?cn=3052&cc=44

Para baixar os scripts, clique no link abaixo.

DOWNLOAD

Clique AQUI
e faça o download do script.

Semana que vem tem mais. Espero que vocês
tenham gostado :-)

Não deixe de nos enviar críticas
ou sugestões para o próximo assunto, afinal a coluna
é de vocês. Boa semana a todos!

Mensagem do anunciante:

Em apoio à evangelização do WordPress, os cursos da Apiki são gratuitos para que você possa se especializar na plataforma que mais cresce no mundo. Vagas limitadas, Inscreva-se agora.

Comente também

9 Comentários

Fillpe

Eu achei muito interessante esses artigos sobre abstração de dados no PHP. Mas fugindo um pouco do assunto, vou lhe fazer uma pergunta. Eu sou programador Delphi, mas quero mudar para programação web, eu sei que existem várias ferramentas no mercado que nós podemos utilizar , mas eu achei o PHP muito interessante. Eu quero saber se existem certificação para profissionais PHP no Brasil? Um abraço e parabéns … “vc é o cara”

Kélcyo Pereira

Olá,
Links sobre certificação PHP: http://www.phparch.com/cert/

Para localizar um dos centros de testes no Brasil acesse: http://www.vue.com/zend/

Para testar seus conhecimentos em PHP tem um self test em: http://www.zend.com/store/education/certification/self-test.php

Lembrando que a prova custa a bagatela de $200.00 dólares.

Até mais

Fernando Oliveira

Caros amigos,

Terminei o site em minha máquina. Já está conectando no banco Mysql em minha máquina.

E agora? Como levo o banco pro servidor na internet?

José Ricardo Borba

Júlio,
Onde devem ficar os forms no Smarty, no PHP ou no TPL???

Daniel Henrique

Com o Mysql foi tudo beleza, mas com o FIREBIRD não consigo conectar … tenho a certeza de que o banco está rodando e aceitando conexões remotas …

To perdido no erro que apareceu.
Parse error: syntax error, unexpected T_LNUMBER, expecting ‘,’ or ‘;’ in /home/public_html/teste/consulta2c.php on line 28
nesta linha 28 temos:
//EXIBE O RESULTADO DA QUERY
echo ““;
echo ““;
echo “Código“;
echo “Nome“;
echo “Usuario“;
echo ““;
while($linha = $res->fetchRow()) {
echo ““;
echo ““.$linha[0].”“;
echo ““.$linha[1].”“;
echo ““.$linha[2].”“;
echo ““;
Como devo corrigir com Virgula ou manter pontoevirgula?
De que forma?
Abraços;
Luciano

Paulo Henrique

Muito bom!!

Eu estou começando a usar esta biblioteca, e queria saber uma coisa.

Fiz a conexão com o Mysql, ta tudo certo, mais o AdoDB gera varios erros “Decrepated” na página..

Você saberia como resolver? ou pelo menos tirar pelo php.ini?

Vlw.

aewww muito bom o artigo!! Atualmente eu desenvolvo em ASP e to migrando pro PHP agora, e quando vi a sintaxe do PHP pra fazer selects,inserts, etc. fiquei muito decepcionado, mas ainda bem q existe essa classe, pois fica identico ao asp.

Abraço

Muito bom seu artigo, mas você não acha mais interessante a utilização dos active records implementados na própria lib ADODB?
Eu utilizo esta tecnica a algum tempo e particularmente acho muito mais consistente e segura do que executar queryes por string dentro do codigo.

[]’s

Qual a sua opinião?