+1

Utilizando a PEAR::DB

criado por Rogério Bragil em 13/07/2004 2:38pm
Vamos ver um exemplo:

<?php
// incluindo a classe
require_once 'DB.php';

$host= "localhost";
$user= "root";
$pass= "senha";
$bd= "banco";

// especificando o DSN (Data Source Name)
$dsn= "mysql://$user:$pass@$host/$bd";

// Conectando ao BD
$conn= DB::connect($dsn);
if (DB::isError($conn)) {
    die ($conn->getMessage());
}
?>

No exemplo acima, a primeira coisa a fazer foi incluir a classe:

require_once 'DB.php';

Depois, definimos o DSN (Data Source Name, ou nome da fonte de dados), que nada mais é do que uma string que possui as informações básicas para a conexão com o BD:

$dsn= "mysql://$user:$pass@$host/$bd";

Para mudar de banco de dados, a única linha que você deve mudar no script é essa. Além de mysql, outros valores são: pgsql (Postgre), msql (Mini SQL), mssql (MS Sql Server), odbc (ODBC), ibase (Interbase), oci8 (Oracle 7/8/8i), sybase (SyBase), fbsql (FrontBase) e ifx (Informix).
Existem outras variações da string do DSN (consulte documentação da Pear em http://pear.php.net).

O próximo passo é conectar ao banco de dados:

// Conectando ao BD
$conn= DB::connect($dsn);
if (DB::isError($conn)) {
    die ($conn->getMessage());
}

A primeira linha conecta ao BD. O if logo abaixo testa se ocorreu algum erro ao conectar, e em caso positivo o script é abortado e a mensagem de erro é impressa.


Comentários:

Mostrando 1 - 9 de 9 comentários
Paul Muad'Dib disse:
Parece ser uma ótima solução.
E quanto a performance? alguém já fez algum teste com grande massa de dados?

Muito bom o seu artigo Rogério!

10/02/2007 4:56pm (~17 anos atrás)

Dúvidas entre usar ADOdb e PEAR BD?

deem uma olhada:
http://phplens.com/lens/adodb/
27/07/2004 10:00am (~20 anos atrás)

o benchmark eu não tenho, mas já li sobre a PEAR::DB ser bem lenta em relação a ADODB... por isso existem as alternativas PEAR::MDB e PEAR::MDB2...
20/07/2004 9:32am (~20 anos atrás)

existe algum benchmark para libs como o PEAR e ADOdb

?

18/07/2004 6:27pm (~20 anos atrás)

Procurei informações sobre conexao com o OpenBASE no site pear.php.net e nao encontrei nada.
Será que essa é a unica base de dados que ele não consegue se conectar, da pra dar um help ai. To precisando muito.
Valeu
16/07/2004 9:40am (~20 anos atrás)

a pear é uma ótima solução

pena que o pessoal de lá não tem muitos parâmetros de seleção de pacotes.

acho que poderia ser adicionado coisas com qualidade mais regularmente
16/07/2004 6:10am (~20 anos atrás)

bom venho usando as classes do pear a ums 2 meses é....
Muito bom, so pelo fato de não ter que reinventar a roda cada vez que voce quer fazer uma coisa quebra alto galho
15/07/2004 1:00pm (~20 anos atrás)

mas já vem com o PHP isso...

só há também a opção na hora de compilar
--without-pear ;)
14/07/2004 12:20pm (~20 anos atrás)

Para instalar em qualquer distribuição use esse comando.

lynx -source http://go-pear.org/ | php

Para listar os pacotes disponiveis use isso :
pear remote-list

E para instala-los ou atualiza-los use isso :
pear install <nome do pacote>

13/07/2004 4:13pm (~20 anos atrás)

Novo Comentário:

(Você pode usar tags como <b>, <i> ou <code>. URLs serão convertidas para links automaticamente.)