Bom dia a todos… hoje vou mostrar como conectar no banco de dados firebird usando PHP.
em alguns passos você podera conectar no firebird.

1° Passo – Instale o servidor do firebird
acesse o site http://www.firebirdsql.org/ e faça download do firebird, fiz testes usando o firebird 1.5, 2.0, e 2.5 e todos funcionaram normalmente.
Após instalar o firebird reinicie o computador.

2° Passo – O segundo passo é configurar o PHP. A biblioteca para conexão com o firebird

Localize o arquivo php.ini dentro do diretório de instalação do servidor web (apache), e em seguida abra usando um editor de texto(notepad, edit plus…).

Encontre a linha ;extension=php_interbase.dll e remova o ponto e vírgula no inicio, salve, feche e reinicie o serviço do servidor web.

Caso não encontre a linha, insira no final do arquivo.

3° Passo – Criar a conexão com o FireBird

//ibase_connect — Abre uma conexão com um banco de dados InterBase
//pode ser colocado o IP, ou nome do computador onde esta o banco de dados

$servidor = '127.0.0.1:C:/diretorio/banco.FDB';

//conexão com o banco, se der erro mostrara uma mensagem.
if (!($dbh=ibase_connect($servidor, 'SYSDBA', 'masterkey')))
		die('Erro ao conectar: ' .  ibase_errmsg());

Fazer uma consulta no banco.

//Instruções SQL
$sql = 'SELECT COLUNA1, COLUNA2 FROM TABELA';

//Executa a instrução SQL
$query= ibase_query ($dbh, $sql);

//gera um loop com as linhas encontradas
while ($row = ibase_fetch_object ($query)) {

    //imprimi as linhas na tela
    echo $row->COLUNA1 . "n";

}

//Libera a memoria usada
ibase_free_result($query);

//fecha conexão com o firebird
ibase_close($dbh);

Um erro muito comum ao tentar fazer a conexão com o firebird é a seguinte mensagem de erro;

“Warning: ibase_connect() [function.ibase-connect]: Unable to complete network request to host “127.0.0.1”. Failed to locate host machine. The specified name was not found in the hosts file or Domain Name Services.”

Para resolver é bem simples, basta inserir 2 linhas no arquivo de configuração de serviços.
Vá ate o diretorio C:WindowsSystem32driversetc e abra o arquivo services, insira no final do arquivo as seguintes linhas

gds_db    		3050/tcp    						#firebird Database
gds_db    		3050/udp    						#firebird Database

Pronto sua conexão podera ser feita com sucesso.

Para saber mais sobre os comandos que podem ser usados acesse:

http://www.php.net/manual/pt_BR/ref.ibase.php

18 Thoughts on “Conexão com FireBird usando PHP

  1. Prezado, o 3° Passo – Criar a conexão com o FireBird, vc não passa os detalhes onde colocar os códigos. Poderia detalhar mais estas informações.

  2. Os comandos de conexão você precisa colocar em um arquivo (.php).

  3. Não deu certo. O PHP não está reconhecendo a função IBASE_CONNECT.
    O que posso fazer?

  4. Ivo, faça um teste utilizando a função demonstrada abaixo, para checar se a função está habilitada.
    Caso apresente como função não encontrada, verifique os passos 1 e 2, não esqueça de reiniciar o computador após a instalação e configuração do Firebird.

    \n”;
    } else {
    echo “ibase_connect – Função não encontrada
    \n”;
    }
    ?>

  5. Obrigado

  6. boa noite estou tendo este erro na consulta
    a conexao é feita nomalmete mas a consuta dá este erro

    Undefined property: stdClass::

    • Faça um teste utilizando a função demonstrada abaixo, para checar se a função está habilitada.
      Caso apresente como função não encontrada, verifique os passos 1 e 2, não esqueça de reiniciar o computador após a instalação e configuração do Firebird.

      < ?php if (function_exists('ibase_connect')) { echo "ibase_connect - Função encontrada. \n”; } else { echo “ibase_connect – Função não encontrada \n”; } ?>

  7. ( ! ) Fatal error: Call to undefined function ibase_connect() in C:\wamp\www\Teste\index.php on line 5
    Call Stack
    # Time Memory Function Location
    1 0.0000 243672 {main}( ) ..\index.php:0

    #5 – if (!($dbh = ibase_connect($servidor, ‘SYSDBA’, ‘masterkey’)))
    ???

  8. Igor, no erro está informando que não encontrou a função de conexão.

    Faça um teste utilizando a função demonstrada abaixo, para checar se a função está habilitada.
    Caso apresente como função não encontrada, verifique os passos 1 e 2, não esqueça de reiniciar o computador após a instalação e configuração do Firebird.

    < ?php if (function_exists('ibase_connect')) { echo "ibase_connect - Função encontrada. \n”; } else { echo “ibase_connect – Função não encontrada \n”; } ?>

  9. Boa noite Caro.
    Estou tentando fazer uma consulta à um banco fdb mas tb não obtive êxito. Segue o erro

    Fatal error: Call to undefined function ibase_query() in C:\Program Files (x86)\EasyPHP-Devserver-16.1\eds-www\firebird\teste.php on line 9

    Arquivo teste.php

    COLUNA1 . “n”;

    }

    //Libera a memoria usada
    ibase_free_result($query);

    //fecha conexão com o firebird
    ibase_close($dbh);
    ?>

    • André, este erro “Fatal error: Call to undefined function ibase_query()” indica que não foi encontrada a função ibase.
      Faça um teste utilizando a função demonstrada abaixo, para checar se a função está habilitada.
      Caso apresente como função não encontrada, verifique os passos 1 e 2, não esqueça de reiniciar o computador após a instalação e configuração do Firebird.

      < ?php if (function_exists('ibase_connect')) { echo "ibase_connect - Função encontrada. \n”; } else { echo “ibase_connect – Função não encontrada \n”; } ?>

      Um outro detalhe também importante se tiver usando WAMP, EASYPHP entre outros aplicativos que instalam o pacote (PHP, MYSQL, APACHE), é verificar a versão de instalação, recomendo que utilize a versão 32bits, mesmo nos sistemas operacionais 64bits.

  10. Nilton Oliveira on 9 de janeiro de 2022 at 12:07 said:

    Alguém para me ajudar aqui neste erro “ibase_num_rows”, fazendo um favor.
    Call to undefined function ibase_num_rows()

    Pegando a ideia de usar o bd firebird com php. Fiz a parte de listar o registro do cliente, somente ao digitar na busca.

    $conexao = ibase_connect(“127.0.0.1:C:/sistema/bd.fdb”,”SYSDBA”,”masterkey”);
    $busca = $_POST[‘busca’];
    $query = ibase_query($conexao , “select * from tbClientes where nomeCliente LIKE ‘%$busca%'”);

    $num = ibase_num_rows($query);

    if($num >0){
    while($row = ibase_fetch_assoc($query)){
    echo $row[‘nomeCliente’].’ – ‘.$row[‘cpfCliente’];
    }
    }else{
    echo “Cliente não encontrado!”;
    }

    • Olá Nilson bom dia,

      Este erro “Fatal error: Call to undefined function ibase_query()” indica que não foi encontrada a função ibase.
      Faça um teste utilizando a função demonstrada abaixo, para checar se a função está habilitada.

      < ?php if (function_exists('ibase_connect')) { echo "ibase_connect - Função encontrada. \n”; } else { echo “ibase_connect – Função não encontrada \n”; } ?>

      Caso apresente como função não encontrada, verifique os passos 1 e 2, não esqueça de reiniciar o computador após a instalação e configuração do Firebird.

  11. Nilton Oliveira on 11 de janeiro de 2022 at 17:31 said:

    Já tenho a listagem funcionando corretamente. O que preciso é listar somente o que for digitado, porque o BD tem mais ou menos 15.000 registros
    Gostaria de usar somente a pesquisa. Mas está função pelo que me informaram ela não existe. Preciso de um código pra trazer o registro conforme é digitado o nome do cliente.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Post Navigation