PHP com acesso ao banco de dados Interbase / Firebird

Não é nenhum bicho de sete cabeças utilizar a base de dados Interbase/Firebird com PHP. Mas é necessário antes de tudo ficar atento as configurações que deverão ser efetuadas, caso contrario você terá horas procurando por erros no código em vão.
Então vamos a elas. Tendo em vista que um servidor web já deverá estar instalado e configurado para ser utilizado junto do PHP, eu recomendo o wamp, com ele você pode pular a parte da configuração e ir direto pra parte de testes.
Configurando PHP.ini
Procure pela linha php_interbase.dll, dependendo da versão do seu ela poderá estar como extension=php_interbase.dll ou ext=php_interbase.dll, retire o ";" da frente desta linha para descomenta-la, assim o plugin de acesso ao Interbase estará ativo.
Caso você queira usar um banco de dados local será necessario modificar o arquivo services, que está na pasta <WINDIR>\system32\drivers\etc, acrescente a linha "gds_db 3050/tcp #firebird Database" e tecle enter após isto. Essa configuração fará com que o servidor web reconheça localhost no momento do acesso ao caminho do banco de dados.
Reinicie o PC para o windows atualizar os serviços.
Instale o Firebird e inicialize-o juntamente com o seu servidor WEB.
Acessando o banco Interbase/Firebird
<?php
$host = "localhost:c:/EMPLOYEE.GDB";
$conexao = ibase_connect($host,"SYSDBA","masterkey");
$busca = "select first_name,last_name,job_country from employee ";
$busca .= "order by first_name";
$resultado = ibase_query($busca);
?>
<table width="200" border="1">
<tr>
<th scope="col">Nome</th>
<th sc="col">Pais</th>
</tr>
<?php
while($linha = ibase_fetch_row($resultado))
printf("<tr><td>%s %s</td> <td>%s</td></tr>",$linha[0], $linha[1], $linha[2]);
ibase_close($conexao);
?>
</table>

ibase_connect = conectar ao banco de dados, sintaxe ibase_connect("caminho do BD", "username", "senha")
ibase_query = executa o comando sql nele contido, podendo ser uma busca ou atualização no banco, sintaxe ibase_query("comando SQL")
No caso acima, uma busca, o resultado é guardado na variável $resultado que é usada no comando ibase_fetch_row, que retorna o resultado da busca uma linha por vez, estas linhas estão sendo guardadas na variável $linha e seus dados podem ser acessados usando-a como um array $linha[0], $linha[1]...
Então enquanto houver linhas, a tabela vai sendo impressa na tela.
while($linha = ibase_fetch_row($resultado))
Por último ibase_close("conexão"), fecha a conexão com o banco de dados.

Espero que este texto ajude a todos que tem tido dificuldades em utilizar o Interbase e Firebird com PHP.

Technorati Tags: , , , ,

Comentários