Ativar PHP PDO para Firebird
PDO e Firebird

Publicado em: 07/12/2016 00:00:00, por IVAN VARGAS

PDO (PHP Data Object) é um conjunto de classes nativas do PHP utilizadas para acessar banco de dados.

Com PDO você mantém a mesma sintaxe de comandos em PHP para trabalhar com qualquer banco de dados, alterando somente o driver de conexão e a connection string. Enfim, facilita e muito a vida de todo desenvolvedor, sem falar na facilidade que a programação orientada a objetivos nos oferece por si mesma. Portando, esqueça mysqlcli e coisas do tipo, utilize PDO :)

Uma instalção padraão do PHP já contem alguns drivers PDO instalados para acessar os DBs mais populares para desenvolvimento web (MySQL, PostGre, etc). Agora, se você deseja desenvolver algo utilizando Firebird fica um pouco mais complicado. Vejamos aqui um passo a passo para configurar seu Apache e PHP para instalar os drives PDO para Firebird.

1. Habilite as seguintes linhas no seu php.ini

extension=php_pdo.dll

extension=php.pdo_firebird.dll

extension=php.interbase.dll

2. Verifique se estas dll's estão na pasta "EXT" do PHP. Se não estiverem lá as copie.

3. Agora você precisa copiar as seguintes dll de conexão com Firebird (aquelas mesmo que você utiliza no Delphi) para a pasta "BIN" na sua instalação do Apache:

fbclient.dll

gds32.dll

msvcr71.dll

Pode ser que não precise de todas - a msrcr71.dll, por exemplo, parece ser utilizada somente para versões do Firebird > 2.5. Mas, para evitar erros, procuro sempre adicionar estas três libs.

4. Reinicie o Apache.

Muito bem, basicamente é isso. Se mesmo assim não funcionar copie as DLL's do terceiro passo para a pasta C:\Windows\System32 no seu sistema.

Exemplo prático

Vamos ver se tudo isso funcionou?

Neste exemplo vamos imaginar que temos a tabela CLIENTES em nosso banco de dados chamado MEUBANCO.fdb e queremos listar o nome de todos os clientes cadastrados. Vamos la:

	//conectamos ao banco de dados
	$con = new PDO('firebird:dbname=127.0.0.1:C:\MEUBANCO.FDB', 'SYSDBA', 'masterkey');
	 
	//montamos e rodamos a query   
	$query = $con->query("select nome from clientes");
	$query->execute();
	 
	//retornamos todos os registros (fetchAll) em forma de uma lista de Objetos (FECH_OBJ)
	$registros = $query->fetchAll(PDO::FETCH_OBJ);
			
	//percorremos a lista retornando item por item e imprimindo a propriedade que desejamos (neste caso: NOME)
	foreach($registros as $r) {
		 echo $r->NOME . "<br>";
	}

Se tudo deu certo o nome de todos os clientes cadastros será listado na tela.

E se não deu certo? Bom, dai vai dar erro de conexão ou não listar nada - neste caso revise os passos anteriores e tente novamente. :)

Para saber mais, acesse o manual on-line do PDO em http://php.net/manual/pt_BR/book.pdo.php

 

Att,

Ivan S. Vargas



IS5 TECNOLOGIA

São Lourenço do Sul/RS
Telefone: (53)9963-5721
E-mail: contato@is5.com.br
Facebook: fb.com/is5tecnologia
Skype: ivan_is5
GitHub: github.com/isvargas
O QUE FAZEMOS

Automação Comercial
Desenvolvimento de Sistemas
Hospedagem e Desenvolvimento de Sites
Aplicativos Mobile
Consultoria e Projetos Freelancer
Desenvolvido por is5 tecnologia