# Oracle OCI8

# Introduction

Warning

This extension is UNBUNDLED as of PHP 8.4.0.

These functions allow you to access Oracle Database. They support SQL and PL/SQL statements. Basic features include transaction control, binding of PHP variables to Oracle placeholders, and support for large object (LOB) types and collections. Oracle's scalability features such as Database Resident Connection Pooling (DRCP) and result caching are also supported.

- 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 — Fetches the next row from a query into internal buffers
  - 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_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 — Returns a field's data type name
  - oci_field_type_raw — Tell the raw Oracle data type of the field
  - 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 Implicit Result Sets
  - 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_set_prefetch_lob — Sets the amount of data prefetched for each CLOB or BLOB.
  - oci_statement_type — Returns the type of a statement
  - oci_unregister_taf_callback — Unregister a user-defined callback function for Oracle Database TAF
- OCICollection — The OCICollection class
  - OCICollection::append — Appends element to the collection
  - OCICollection::assign — Assigns a value to the collection from another existing collection
  - OCICollection::assignElem — Assigns a value to the element of the collection
  - OCICollection::free — Frees the resources associated with the collection object
  - OCICollection::getElem — Returns value of the element
  - OCICollection::max — Returns the maximum number of elements in the collection
  - OCICollection::size — Returns size of the collection
  - OCICollection::trim — Trims elements from the end of the collection
- OCILob — The OCILob class
  - OCILob::append — Appends data from the large object to another large object
  - OCILob::close — Closes LOB descriptor
  - OCILob::eof — Tests for end-of-file on a large object's descriptor
  - OCILob::erase — Erases a specified portion of the internal LOB data
  - OCILob::export — Exports LOB's contents to a file
  - OCILob::flush — Flushes/writes buffer of the LOB to the server
  - OCILob::free — Frees resources associated with the LOB descriptor
  - OCILob::getBuffering — Returns current state of buffering for the large object
  - OCILob::import — Imports file data to the LOB
  - OCILob::load — Returns large object's contents
  - OCILob::read — Reads part of the large object
  - OCILob::rewind — Moves the internal pointer to the beginning of the large object
  - OCILob::save — Saves data to the large object
  - OCILob::saveFile — Alias of OCILob::import
  - OCILob::seek — Sets the internal pointer of the large object
  - OCILob::setBuffering — Changes current state of buffering for the large object
  - OCILob::size — Returns size of large object
  - OCILob::tell — Returns the current position of internal pointer of large object
  - OCILob::truncate — Truncates large object
  - OCILob::write — Writes data to the large object
  - OCILob::writeTemporary — Writes a temporary large object
  - OCILob::writeToFile — Alias of OCILob::export
- OCI8 Obsolete Aliases and Functions
  - oci_internal_debug — Enables or disables internal debug output
  - ocibindbyname — Alias of oci_bind_by_name
  - ocicancel — Alias of oci_cancel
  - ocicloselob — Alias of OCILob::close
  - ocicollappend — Alias of OCICollection::append
  - ocicollassign — Alias of OCICollection::assign
  - ocicollassignelem — Alias of OCICollection::assignElem
  - ocicollgetelem — Alias of OCICollection::getElem
  - ocicollmax — Alias of OCICollection::max
  - ocicollsize — Alias of OCICollection::size
  - ocicolltrim — Alias of OCICollection::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 OCICollection::free
  - ocifreecursor — Alias of oci_free_statement
  - ocifreedesc — Alias of OCILob::free
  - ocifreestatement — Alias of oci_free_statement
  - ociinternaldebug — Alias of oci_internal_debug
  - ociloadlob — Alias of OCILob::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 OCILob::save
  - ocisavelobfile — Alias of OCILob::import
  - ociserverversion — Alias of oci_server_version
  - ocisetprefetch — Alias of oci_set_prefetch
  - ocistatementtype — Alias of oci_statement_type
  - ociwritelobtofile — Alias of OCILob::export
  - ociwritetemporarylob — Alias of OCILob::writeTemporary

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open