# Oracle OCI8

- Introduction
- Installing/Configuring
  - Requirements
  - Installation
  - Testing
  - Runtime Configuration
- Predefined Constants
- Examples
- OCI8 Connection Handling and Connection Pooling
- OCI8 Fast Application Notification (FAN) Support
- OCI8 Transparent Application Failover (TAF) Support
- OCI8 and DTrace Dynamic Tracing
- Supported Datatypes
- OCI8 Functions
  - oci_bind_array_by_name — Binds a PHP array to an Oracle PL/SQL array parameter
  - oci_bind_by_name — Binds a PHP variable to an Oracle placeholder
  - oci_cancel — Cancels reading from cursor
  - oci_client_version — Returns the Oracle client library version
  - oci_close — Closes an Oracle connection
  - oci_commit — Commits the outstanding database transaction
  - oci_connect — Connect to an Oracle database
  - oci_define_by_name — Associates a PHP variable with a column for query fetches
  - oci_error — Returns the last error found
  - oci_execute — Executes a statement
  - oci_fetch_all — Fetches multiple rows from a query into a two-dimensional array
  - oci_fetch_array — Returns the next row from a query as an associative or numeric array
  - oci_fetch_assoc — Returns the next row from a query as an associative array
  - oci_fetch_object — Returns the next row from a query as an object
  - oci_fetch_row — Returns the next row from a query as a numeric array
  - oci_fetch — Fetches the next row from a query into internal buffers
  - oci_field_is_null — Checks if a field in the currently fetched row is NULL
  - oci_field_name — Returns the name of a field from the statement
  - oci_field_precision — Tell the precision of a field
  - oci_field_scale — Tell the scale of the field
  - oci_field_size — Returns field's size
  - oci_field_type_raw — Tell the raw Oracle data type of the field
  - oci_field_type — Returns a field's data type name
  - oci_free_descriptor — Frees a descriptor
  - oci_free_statement — Frees all resources associated with statement or cursor
  - oci_get_implicit_resultset — Returns the next child statement resource from a parent statement resource that has Oracle Database 12c Implicit Result Sets
  - oci_internal_debug — Enables or disables internal debug output
  - oci_lob_copy — Copies large object
  - oci_lob_is_equal — Compares two LOB/FILE locators for equality
  - oci_new_collection — Allocates new collection object
  - oci_new_connect — Connect to the Oracle server using a unique connection
  - oci_new_cursor — Allocates and returns a new cursor (statement handle)
  - oci_new_descriptor — Initializes a new empty LOB or FILE descriptor
  - oci_num_fields — Returns the number of result columns in a statement
  - oci_num_rows — Returns number of rows affected during statement execution
  - oci_parse — Prepares an Oracle statement for execution
  - oci_password_change — Changes password of Oracle's user
  - oci_pconnect — Connect to an Oracle database using a persistent connection
  - oci_register_taf_callback — Register a user-defined callback function for Oracle Database TAF
  - oci_result — Returns field's value from the fetched row
  - oci_rollback — Rolls back the outstanding database transaction
  - oci_server_version — Returns the Oracle Database version
  - oci_set_action — Sets the action name
  - oci_set_call_timeout — Sets a millisecond timeout for database calls
  - oci_set_client_identifier — Sets the client identifier
  - oci_set_client_info — Sets the client information
  - oci_set_db_operation — Sets the database operation
  - oci_set_edition — Sets the database edition
  - oci_set_module_name — Sets the module name
  - oci_set_prefetch — Sets number of rows to be prefetched by queries
  - oci_statement_type — Returns the type of a statement
  - oci_unregister_taf_callback — Unregister a user-defined callback function for Oracle Database TAF
- OCI-Collection — The OCI-Collection class
  - OCI-Collection::append — Appends element to the collection
  - OCI-Collection::assign — Assigns a value to the collection from another existing collection
  - OCI-Collection::assignElem — Assigns a value to the element of the collection
  - OCI-Collection::free — Frees the resources associated with the collection object
  - OCI-Collection::getElem — Returns value of the element
  - OCI-Collection::max — Returns the maximum number of elements in the collection
  - OCI-Collection::size — Returns size of the collection
  - OCI-Collection::trim — Trims elements from the end of the collection
- OCI-Lob — The OCI-Lob class
  - OCI-Lob::append — Appends data from the large object to another large object
  - OCI-Lob::close — Closes LOB descriptor
  - OCI-Lob::eof — Tests for end-of-file on a large object's descriptor
  - OCI-Lob::erase — Erases a specified portion of the internal LOB data
  - OCI-Lob::export — Exports LOB's contents to a file
  - OCI-Lob::flush — Flushes/writes buffer of the LOB to the server
  - OCI-Lob::free — Frees resources associated with the LOB descriptor
  - OCI-Lob::getBuffering — Returns current state of buffering for the large object
  - OCI-Lob::import — Imports file data to the LOB
  - OCI-Lob::load — Returns large object's contents
  - OCI-Lob::read — Reads part of the large object
  - OCI-Lob::rewind — Moves the internal pointer to the beginning of the large object
  - OCI-Lob::save — Saves data to the large object
  - OCI-Lob::saveFile — Alias of OCI-Lob::import
  - OCI-Lob::seek — Sets the internal pointer of the large object
  - OCI-Lob::setBuffering — Changes current state of buffering for the large object
  - OCI-Lob::size — Returns size of large object
  - OCI-Lob::tell — Returns the current position of internal pointer of large object
  - OCI-Lob::truncate — Truncates large object
  - OCI-Lob::write — Writes data to the large object
  - OCI-Lob::writeTemporary — Writes a temporary large object
  - OCI-Lob::writeToFile — Alias of OCI-Lob::export
- OCI8 Obsolete Aliases and Functions
  - ocibindbyname — Alias of oci_bind_by_name
  - ocicancel — Alias of oci_cancel
  - ocicloselob — Alias of OCI-Lob::close
  - ocicollappend — Alias of OCI-Collection::append
  - ocicollassign — Alias of OCI-Collection::assign
  - ocicollassignelem — Alias of OCI-Collection::assignElem
  - ocicollgetelem — Alias of OCI-Collection::getElem
  - ocicollmax — Alias of OCI-Collection::max
  - ocicollsize — Alias of OCI-Collection::size
  - ocicolltrim — Alias of OCI-Collection::trim
  - ocicolumnisnull — Alias of oci_field_is_null
  - ocicolumnname — Alias of oci_field_name
  - ocicolumnprecision — Alias of oci_field_precision
  - ocicolumnscale — Alias of oci_field_scale
  - ocicolumnsize — Alias of oci_field_size
  - ocicolumntype — Alias of oci_field_type
  - ocicolumntyperaw — Alias of oci_field_type_raw
  - ocicommit — Alias of oci_commit
  - ocidefinebyname — Alias of oci_define_by_name
  - ocierror — Alias of oci_error
  - ociexecute — Alias of oci_execute
  - ocifetch — Alias of oci_fetch
  - ocifetchinto — Obsolete variant of oci_fetch_array, oci_fetch_object, oci_fetch_assoc and oci_fetch_row
  - ocifetchstatement — Alias of oci_fetch_all
  - ocifreecollection — Alias of OCI-Collection::free
  - ocifreecursor — Alias of oci_free_statement
  - ocifreedesc — Alias of OCI-Lob::free
  - ocifreestatement — Alias of oci_free_statement
  - ociinternaldebug — Alias of oci_internal_debug
  - ociloadlob — Alias of OCI-Lob::load
  - ocilogoff — Alias of oci_close
  - ocilogon — Alias of oci_connect
  - ocinewcollection — Alias of oci_new_collection
  - ocinewcursor — Alias of oci_new_cursor
  - ocinewdescriptor — Alias of oci_new_descriptor
  - ocinlogon — Alias of oci_new_connect
  - ocinumcols — Alias of oci_num_fields
  - ociparse — Alias of oci_parse
  - ociplogon — Alias of oci_pconnect
  - ociresult — Alias of oci_result
  - ocirollback — Alias of oci_rollback
  - ocirowcount — Alias of oci_num_rows
  - ocisavelob — Alias of OCI-Lob::save
  - ocisavelobfile — Alias of OCI-Lob::import
  - ociserverversion — Alias of oci_server_version
  - ocisetprefetch — Alias of oci_set_prefetch
  - ocistatementtype — Alias of oci_statement_type
  - ociwritelobtofile — Alias of OCI-Lob::export
  - ociwritetemporarylob — Alias of OCI-Lob::writeTemporary