Funzioni Firebird/InterBase
Introduzione
Firebird/InterBase è un database relazionale che offre diverse features ANSI SQL-92 che gira su sistemi Linux, Windows, e su diverse piattaforma Unix. Firebird/InterBase offre un'eccellente meccanismo di concorrenza, alte performance, ed un potente linguaggio a supporto per le stored procedure ed i trigger. E' attivo in sistemi di produzione, sotto diversi nomi, dal 1981.
InterBase è il nome della versione protetta di questo RDBMS che fu sviluppata da Borland/Inprise. Maggiori informazioni su InterBase sono disponibili al link » https://www.borland.com/interbase/.
Firebird è un progetto commercialmente indipendente di programmatori C e C++, tecnici, supporter che hanno sviluppato e migliorato un database relazionale multi-piattaforma basato sul codice sorgente rilasciato da Inprise Corp (ora nota come Borland Software Corp) under the InterBase Public License v.1.0 on 25 July, 2000. More information about Firebird is available at » https://www.firebirdsql.org/.
Nota: Questo modulo supporta la versione 5 e successive di InterBase e tutte le versioni di Firebird. Il supporto per la versione 5.x di InterBase sarà rimosso dalla versione 5 di PHP.
Questo database usa il carattere di singolo apice (') come carattere di escape, un comportamento simile al database Sybase, aggiungere al proprio file php.ini la seguente direttiva:magic_quotes_sybase = On
Requisiti
Installazione
Per abilitare l'utilizzo di InterBase, configurare il PHP con --with-interbase[=DIR], dove DIR indica la directory di installazione di InterBase; il defualt è /usr/interbase.
Nota: Nota per gli utenti Win32 Per abilitare questo modulo nel mondo Windows, occorre copiare gds32.dll dalla cartella DLL della distribuzione PHP/Win32 alla cartella SYSTEM32 della machhina Windows. (Ad esempio: C:\WINNT\SYSTEM32 o C:\WINDOWS\SYSTEM32). Nel caso in cui il server InterBase sia sulla medesima macchina in cui gira il PHP, queste DLL sono già installate. Quindi non occorre copiare gds32.dll dalla cartella DLL.
Configurazione di Runtime
Il comportamento di queste funzioni è influenzato dalle impostazioni di php.ini.
Nome | Default | Modificabile |
---|---|---|
ibase.allow_persistent | "On" | PHP_INI_SYSTEM |
ibase.max_persistent | "-1" | PHP_INI_SYSTEM |
ibase.max_links | "-1" | PHP_INI_SYSTEM |
ibase.default_db | NULL | PHP_INI_SYSTEM |
ibase.default_user | NULL | PHP_INI_ALL |
ibase.default_password | NULL | PHP_INI_ALL |
ibase.default_charset | NULL | PHP_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 |
Breve descrizione dei parametri di configurazione.
- ibase.allow_persistent boolean
-
Stabilisce se permettere o meno le connessioni persistenti a Firebird/InterBase.
- ibase.max_persistent integer
-
Indica il numero massimo di connessioni persistenti a Firebird/InterBase per processo. Le ulteriori connessioni create con ibase_pconnect() saranno non persistenti.
- ibase.max_links integer
-
Indica il numero massimo di connessioni a Firebird/InterBase per processo, incluse le connessioni persistenti.
- ibase.default_db string
-
Il database di default a cui connettersi quando viene chiamata la funzione ibase_[p]connect() senza specifica del nome del database. Se questo valore è impostato ed è abilitata la modalità sicura SQL, non saranno permesse connessioni ad altri database.
- ibase.default_user string
-
Il nome utente da utilizzarsi per la connessione al database se non viene specificato.
- ibase.default_password string
-
La password da utilizzare per connettersi al database se non viene specificata in fase di connessione.
- ibase.default_charset string
-
Il set di caratteri da utilizzare per la connessione al database se non ne viene specificato uno al momento della connessione.
- ibase.timestampformat string
-
- ibase.dateformat string
-
- ibase.timeformat string
-
Questo parametro è utilizzato per utilizzato per impostare il formato di data ed ora utilizzato per la restituzione di date ed ore dai set di risultati o per l'impostazione degli argomenti di data ed ora.
Tipi di risorse
Costanti predefinite
Queste costanti sono definite da questa estensione e sono disponibili solo se l'estensione è stata compilata nel PHP o se è stata caricata dinamicamente a runtime.
Le seguenti costanti possono essere passate alle funzioni ibase_trans() per indicare il comportamento delle transazioni.
Costante | Descrizione |
---|---|
IBASE_DEFAULT | Sono utilizzate le impostazioni di default per la transazione. Quale default è determinato dalla libreria client, che, nella maggior parte dei casi, lo definisce come IBASE_WRITE|IBASE_CONCURRENCY|IBASE_WAIT. |
IBASE_READ | Inizia una transazione di sola lettura. |
IBASE_WRITE | Inizia una transazione di lettura/scrittura. |
IBASE_CONSISTENCY | Inizia una transazione con il livello di isolamento impostato a 'consistency', il quale indica che una transazione non leggere da tabelle che stanno per essere modificate da altre transazioni concorrenti. |
IBASE_CONCURRENCY | Inizia una transazione con il livello di isolamento impostato a 'concurrency' (o 'snapshot'), il quale indica che la transazione può accedere a tutte le tabelle, ma non può rilevare modifiche eseguite da altre transazioni dopo la partenza della transazione. |
IBASE_COMMITTED | Inizia una transazione con il livello di isolamento impostato a 'read committed'. Questo flag dovrebbe essere abbinato con IBASE_REC_VERSION oppure con IBASE_REC_NO_VERSION. Questo livello di isolamento permette l'accesso alle modifiche quando queste vengono eseguite dopo l'inizio della transazione. Se si indica IBASE_REC_NO_VERSION, si può accedere solo all'ultima versione della riga. Se si indica IBASE_REC_VERSION, una riga può essere letta anche se vi è una modifica pendente da parte di una transazione concorrente. |
IBASE_WAIT | Indica che la transazione deve attendere e riprovare in caso di conflitto. |
IBASE_NOWAIT | Indica che la transazione deve fallire immadiatamente in caso di conflitto di accesso. |
La seguenti costanti possono essere utilizzate con ibase_fetch_row(), ibase_fetch_assoc() o ibase_fetch_object() per indicare il comportamento nello scarico dei dati.
Costante | Descrizione |
---|---|
IBASE_FETCH_BLOBS | Disponibile anche come IBASE_TEXT per compatibilità verso il passato. Forza lo scarico in linea dei contenuti BLOB, anzichè essere scaricati come indentificatori BLOB. |
IBASE_FETCH_ARRAYS | Forza lo scarico in linea delle matrici. Altrimenti le matrici sarebbero restituite come variabili. La matrici possono essere utilizzate come argomenti solo per le operazioni di INSERT, poichè, al momento, non vi sono funzioni che trattano le matrici. |
IBASE_UNIXTIME | Indica di restituire i dacmpi data e ora non come stringa, ma come UNIX timestamp (il numero dei secondi da una certa data, che è il 1-Gen-1970 0:00 UTC). Possono esserci problemi se utilizzato con date anteriori al 1970 su certi sistemi. |
Le seguenti costanti sono utilizzate per passare richieste ed opzioni alle (ibase_server_info(), ibase_db_info (), ibase_backup(), ibase_restore () e ibase_maintain_db()). Fare riferimento ai manuali di Firebird/InterBase per avere il significato di queste funzioni.
- IBASE_BKP_IGNORE_CHECKSUMS
- IBASE_BKP_IGNORE_LIMBO
- IBASE_BKP_METADATA_ONLY
- IBASE_BKP_NO_GARBAGE_COLLECT
- IBASE_BKP_OLD_DESCRIPTIONS
- IBASE_BKP_NON_TRANSPORTABLE
- IBASE_BKP_CONVERT
- Options to ibase_backup()()
- IBASE_RES_DEACTIVATE_IDX
- IBASE_RES_NO_SHADOW
- IBASE_RES_NO_VALIDITY
- IBASE_RES_ONE_AT_A_TIME
- IBASE_RES_REPLACE
- IBASE_RES_CREATE
- IBASE_RES_USE_ALL_SPACE
- Options to ibase_restore()
- IBASE_PRP_PAGE_BUFFERS
- IBASE_PRP_SWEEP_INTERVAL
- IBASE_PRP_SHUTDOWN_DB
- IBASE_PRP_DENY_NEW_TRANSACTIONS
- IBASE_PRP_DENY_NEW_ATTACHMENTS
- IBASE_PRP_RESERVE_SPACE
- IBASE_PRP_RES_USE_FULL
- IBASE_PRP_RES
- IBASE_PRP_WRITE_MODE
- IBASE_PRP_WM_ASYNC
- IBASE_PRP_WM_SYNC
- IBASE_PRP_ACCESS_MODE
- IBASE_PRP_AM_READONLY
- IBASE_PRP_AM_READWRITE
- IBASE_PRP_SET_SQL_DIALECT
- IBASE_PRP_ACTIVATE
- IBASE_PRP_DB_ONLINE
- IBASE_RPR_CHECK_DB
- IBASE_RPR_IGNORE_CHECKSUM
- IBASE_RPR_KILL_SHADOWS
- IBASE_RPR_MEND_DB
- IBASE_RPR_VALIDATE_DB
- IBASE_RPR_FULL
- IBASE_RPR_SWEEP_DB
- Options to ibase_maintain_db()
- IBASE_STS_DATA_PAGES
- IBASE_STS_DB_LOG
- IBASE_STS_HDR_PAGES
- IBASE_STS_IDX_PAGES
- IBASE_STS_SYS_RELATIONS
- Options to ibase_db_info()
- IBASE_SVC_SERVER_VERSION
- IBASE_SVC_IMPLEMENTATION
- IBASE_SVC_GET_ENV
- IBASE_SVC_GET_ENV_LOCK
- IBASE_SVC_GET_ENV_MSG
- IBASE_SVC_USER_DBPATH
- IBASE_SVC_SVR_DB_INFO
- IBASE_SVC_GET_USERS
- Opzioni per ibase_server_info()
Indice dei contenuti
- ibase_add_user — Add a user to a security database (only for IB6 or later)
- ibase_affected_rows — Return the number of rows that were affected by the previous query
- ibase_backup — Initiates a backup task in the service manager and returns immediately
- ibase_blob_add — Aggiunge dati in un nuovo blob creato
- ibase_blob_cancel — Cancella la creazione di un blob
- ibase_blob_close — Chiude un blob
- ibase_blob_create — Crea un nuovo blob per aggiungerci dei dati
- ibase_blob_echo — Visualizza il contenuto di un blob sul browser
- ibase_blob_get — Ottiene len byte di dati dal blob aperto
- ibase_blob_import — Create un blob, copy il file al suo interno e lo chiude
- ibase_blob_info — Restituisce la lunghezza del blob e altre informazioni utlili
- ibase_blob_open — Apre un blob per ricavare parte di dati
- ibase_close — Chiude una connessione ad un database InterBase
- ibase_commit_ret — Commit a transaction without closing it
- ibase_commit — Esegue il commit di una transazione
- ibase_connect — Apre una connessione con un database InterBase
- ibase_db_info — Request statistics about a database
- ibase_delete_user — Delete a user from a security database (only for IB6 or later)
- ibase_drop_db — Drops a database
- ibase_errcode — Return an error code
- ibase_errmsg — Restituisce messaggi di errore
- ibase_execute — Esegue una query preparata in precedenza
- ibase_fetch_assoc — Fetch a result row from a query as an associative array
- ibase_fetch_object — Ottiene un oggetto da un database InterBase
- ibase_fetch_row — Elabora una riga da un database InterBase
- ibase_field_info — Ottiene informazioni su un campo
- ibase_free_event_handler — Cancels a registered event handler
- ibase_free_query — Libera la memoria allocata da una query preparata
- ibase_free_result — Libera la memoria allocata da un result set
- 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 — Modify a user to a security database (only for IB6 or later)
- ibase_name_result — Assigns a name to a result set
- ibase_num_fields — Ottiene il numero di campi in un result set
- ibase_num_params — Return the number of parameters in a prepared query
- ibase_param_info — Return information about a parameter in a prepared query
- ibase_pconnect — Crea una connessione persistente ad un database Interbase
- ibase_prepare — Prepara una query per un successivo binding dei segnaposto dei parametri ed esecuzione
- ibase_query — Esegue una query su di un database InterBase
- ibase_restore — Initiates a restore task in the service manager and returns immediately
- ibase_rollback_ret — Roll back a transaction without closing it
- ibase_rollback — Esegue il roll back di una transazione
- 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 — Register a callback function to be called when events are posted
- ibase_timefmt — Imposta il formato delle colonne timestamp, date e time restituite dalle query
- ibase_trans — Inizia una transazione
- ibase_wait_event — Wait for an event to be posted by the database