Fala Galera, segue um tutorial que ensina a conectar no interbase/firebird via php.
Como conectar no Interbase/Firebird em PHP
Para começar, uma definição básica sobre a diferença entre os dois BD’s:
O Interbase é um SGBD da Borland que suporta bancos de dados maiores que 2GB. É relativamente rápido e não é muito pesado. Após a versão 6.0 do interbase, ele passou a ser proprietário e uma equipe de programadores desenvolveu o Firebird, que a princípio era para ser um banco de dados educacional, mas é bastante utilizado no ambiente empresarial.
Como os bancos são praticamente iguais, o php tem uma lista de funções que funcionam em ambos, logo, o código que está neste post conecta tanto em um banco .gdb (extensão de um banco Interbase) quanto em um banco .fdb (extensão de um banco Firebird).
Instalando o Firebird:
- Faça o download do banco em http://www.firebirdsql.org/ e instale (não coloquei um passo a passo da instalação porque é simples demais);
- No seu servidor webapache, entre no arquivo php.ini (perceba que o php.ini que você deve alterar é o do apache, não confunda com outros php.ini!!!!!) e remova o ponto e vírgula (;) desta linha:
;extension = php_interbase.dll
- Agora, vá ao Painel de Controle > Sistema > aba Avançado e clique em variáveis de ambiente;
- No bloco Variáveis do Sistema, clique em novo e preencha os campos com os dados abaixo:
Nome da variável: PHPRC
Valor da variável: insira aqui o path do seu php.ini (mais uma vez vou lembrar que o caminho é o do php.ini do apache!!!!) e clique em salvar;
- Reinicie seu servidor.
Seguindo os passos acima você tem o firebird instalado e pronto para receber acessos via php.
Agora que o banco está rodando, segue o código de conexão:
<?php
//início da conexão
$db = 'localhost:C:\Documents and Settings\usuario\pasta_do_bd\Nome_do_banco.FDB';
$user = 'SYSDBA'; /* este é o usuário padrão do Firebird */
$password = 'masterkey'; /* esta senha também é padrão */
$res = ibase_connect($db,$user,$password) or die("<br>" . ibase_errmsg());
// Query
$sql = "SELECT * FROM Tabela";
$result = ibase_query($res,$sql) or die(ibase_errmsg()); /* enviando a query ao banco */
while($row=ibase_fetch_object($result)){
// use $row->FIELDNAME not $row->fieldname
echo $row->FIELDNAME;
}
ibase_free_result($result);
// Closing
ibase_close($res) or die("<br>" . ibase_errmsg());
?>
Neste link (http://br.php.net/manual/pt_BR/ref.ibase.php) existe uma lista de funções para firebird/interbase, vale a pena acessar.
No caso de uma segunda chamada a ibase_connect() com os mesmos argumntos, não será criada uma nova conexão, mas ao invés, será retornado o identificador da conexão já aberta. A conexão com o servidor será fechada assim que terminar a execução do script, a menos que seja fechada explicitamente pela chamada de ibase_close().
Só para completar, existe um gerenciador de bancos para o firebird (e interbase também) chamado IB Expert, posteriormente irei publicar um artigo sobre ele, mas vale adiantar que é mais fácil ver os dados do seu banco por este gerenciador do que pelo console. Só reforçando, o programa se chama IB Expert mas serve para acessar tanto bancos do firebird quanto interbase.
Até a próxima!
sanoj
😉