XLV. InterBase

Introdução

InterBase é um banco de dados popular criado pela Borland/Inprise. Maiores informações sobre o InterBase estão disponíveis em http://www.interbase.com/. Oh, a propósito, a InterBase recentemente se juntou ao movimento open source!

Nota: O suporte completo para o InterBase 6 foi adicionado no PHP 4.0.

Este banco de dados usa aspas simples (') para escapar, um funcionamento semelhante ao do banco de dados Sybase, adicione ao seu php.ini a seguinte diretiva:

magic_quotes_sybase = On

Instalação

Para ativar o suporte InterBase, configure o PHP com --with-interbase[=DIR], aonde DIR é o diretório base da instalação do InterBase, o qual o padrão é /usr/interbase.

Nota para os usários de Win32: Para ativar este módulo em um ambiente Windows, você deverá copiar gds32.dll da pasta DLL do pacote binário PHP/Win32 para a pasta SYSTEM32 em seu computador com Windows. (Ex: C:\WINNT\SYSTEM32 or C:\WINDOWS\SYSTEM32). No caso de você já ter o sevidor de banco de dados InterBase na mesma máquina onde o PHP esta sendo executado, você já deve ter esta DLL. Então você não precisará copiar gds32.dll a partir da pasta DLL.

Configurações em execução

O comportamento dessas funções podem ser modificado pelas configurações do php.ini.

Tabela 1. Opções de configuração do InterBase

NomePadrãoModificável
ibase.allow_persistent"On"PHP_INI_SYSTEM
ibase.max_persistent"-1"PHP_INI_SYSTEM
ibase.max_links"-1"PHP_INI_SYSTEM
ibase.default_dbNULLPHP_INI_SYSTEM
ibase.default_userNULLPHP_INI_ALL
ibase.default_passwordNULLPHP_INI_ALL
ibase.default_charsetNULLPHP_INI_ALL
ibase.timestampformat"%Y-%m-%d %H:%M:%S"PHP_INI_ALL
ibase.dateformat"%Y-%m-%d"PHP_INI_ALL
ibase.timeformat"%H:%M:%S"PHP_INI_ALL
Para maiores detalhes e definição das constantes do PHP_INI_* veja ini_set().

Breve descrição das diretivas de configuração.

ibase.allow_persistent boolean

Quando permitir conexões persistentes ao Firebird/InterBase.

ibase.max_persistent integer

O número máximo de conexões persistentes com o Firebird/InterBase por processo. Novas conexões criadas com ibase_pconnect() não serão persistentes se este número for excedido.

ibase.max_links integer

O número máximo de conexões ao Firebird/InterBase por processo, incluindo as conexões persistentes.

ibase.default_db string

O banco de dados padrão a conectar quando ibase_[p]connect() é chamada sem especificar o nome do banco de dados. Se este valor for definido e o SQL safe mode estiver ativado, não serão permitidas outras conexões a este banco de dados.

ibase.default_user string

O nome de usuário para usar quando estiver se conectando ao banco de dados se não for especificado um nome de usuário.

ibase.default_password string

A senha usada ao conectar ao banco de dados se nenhuma senha for especificada.

ibase.default_charset string

O conjunto de caracteres a usar quando estiver conectando ao banco de dados se nenhum conjunto de caracteres for especificado.

ibase.timestampformat string

ibase.dateformat string

ibase.timeformat string

Estas diretivas são usadas para definir os formatos de data e hora que são usados ao retornas datas e horas do conjunto de resultados, ou quando estiver fornecendo datas e horas em parâmetros.

Constantes pré-definidas

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.

IBASE_DEFAULT (integer)

IBASE_TEXT (integer)

IBASE_UNIXTIME (integer)

IBASE_WRITE (integer)

Modo de acesso

IBASE_READ (integer)

Modo de acesso

IBASE_COMMITTED (integer)

Nível de isolação

IBASE_CONSISTENCY (integer)

Nível de isolação

IBASE_CONCURRENCY (integer)

Nível de isolação (Padão)

IBASE_REC_VERSION (integer)

IBASE_REC_NO_VERSION (integer)

IBASE_NOWAIT (integer)

Resolução de travas

IBASE_WAIT (integer)

Resolução de travas (Padrão)

IBASE_TIMESTAMP (integer)

IBASE_DATE (integer)

IBASE_TIME (integer)

Índice
ibase_add_user --  Adiciona um usuário a um banco de dados seguro (apenas para IB6 ou posterior)
ibase_affected_rows --  Retorna o número de linhas que foram afetados pela consulta anterior
ibase_backup --  Initiates a backup task in the service manager and returns immediately
ibase_blob_add --  Adiciona dados em um blob recém criado
ibase_blob_cancel --  Cancela a criação de um blob
ibase_blob_close --  Fecha o blob
ibase_blob_create --  Cria um novo blob para adicionar dados
ibase_blob_echo --  Envia o conteúdo do blob para o browser
ibase_blob_get --  Retorna uma quantidade especificada de bytes de dados de um blob aberto
ibase_blob_import --  Cria um blob, copia um arquivo para ele e o fecha
ibase_blob_info --  Retorna o tamanho do blob e outras informações úteis
ibase_blob_open --  Abre um blob para obter partes de dados
ibase_close --  Fecha uma conexão com um banco de dados InterBase
ibase_commit_ret -- Grava uma transação sem fecha-la
ibase_commit -- Grava uma transação
ibase_connect --  Abre uma conexão com um banco de dados InterBase
ibase_db_info --  Request statistics about a database
ibase_delete_user --  Exclui um usuário de um banco de dados seguro (apenas para o IB6 ou posterior)
ibase_drop_db --  Exclui um banco de dados
ibase_errcode --  Retorna um código de erro
ibase_errmsg --  Retorna uma mensagem de erro
ibase_execute -- Executa uma consulta preparada anteriormente
ibase_fetch_assoc --  Obtém o resultado de uma linha da consulta como uma matriz associativa
ibase_fetch_object -- Obtém uma linha como um objeto de um banco de dados InterBase
ibase_fetch_row -- Obtém uma linha de um banco de dados InterBase
ibase_field_info --  Obtém informação sobre um campo
ibase_free_event_handler --  Cancela um manipulador de eventos registrado
ibase_free_query --  Libera a memória alocada para uma consulta preparada
ibase_free_result -- Libera um conjunto de resultados
ibase_gen_id --  Increments the named generator and returns its new value
ibase_maintain_db --  Execute a maintenance command on the database server
ibase_modify_user --  Modifica um usuário para um banco de dados seguro (somente para IB6 ou posterior)
ibase_name_result --  Define um nome para um conjunto de resultados
ibase_num_fields --  Obtém o número de campos em um conjunto de resultados
ibase_num_params --  Retorna o número de parâmetros em uma consulta preparada
ibase_param_info --  Retorna informação sobre um parâmetro em uma consulta preparada
ibase_pconnect --  Abre uma conexão persistente com um banco de dados InterBase
ibase_prepare --  Prepara uma consulta para execução posterior
ibase_query -- Executa uma consulta em um banco de dados InterBase
ibase_restore --  Initiates a restore task in the service manager and returns immediately
ibase_rollback_ret -- Desfaz uma transação sem fecha-la
ibase_rollback -- Desfaz uma transação
ibase_server_info --  Request information about a database server
ibase_service_attach --  Connect to the service manager
ibase_service_detach --  Disconnect from the service manager
ibase_set_event_handler --  Registra uma função de callback para ser chamada quando eventos são postados
ibase_timefmt --  Define o formato do timestamp, colunas do tipo data e hora retornadas de consultas
ibase_trans -- Inicia uma transação
ibase_wait_event --  Espera por um evento ser postado no banco de dados