Examples
Example 1. OCI Hints
<?php
// by sergo at bacup dot ru
// Use option: OCI_DEFAULT for execute command to delay
execution
OCIExecute($stmt, OCI_DEFAULT);
// for retrieve data use (after fetch):
$result = OCIResult($stmt, $n);
if (is_object($result)) $result = $result->load();
// For INSERT or UPDATE statement use:
$sql = "insert into table (field1, field2) values
(field1 = 'value',
field2 = empty_clob()) returning field2 into :field2";
OCIParse($conn, $sql);
$clob = OCINewDescriptor($conn, OCI_D_LOB);
OCIBindByName($stmt, ":field2", &$clob, -1,
OCI_B_CLOB);
OCIExecute($stmt, OCI_DEFAULT);
$clob->save("some text");
OCICommit($conn);
?>
You can easily access stored procedures in the same way
as you would from the commands line. Example 2. Using Stored
Procedures
<?php
// by webmaster at remoterealty dot com
$sth = OCIParse($dbh, "begin sp_newaddress( :address_id,
'$firstname',
'$lastname', '$company', '$address1', '$address2', '$city',
'$state',
'$postalcode', '$country', :error_code );end;");
// This calls stored procedure sp_newaddress, with :address_id
being an
// in/out variable and :error_code being an out variable.
// Then you do the binding:
OCIBindByName($sth, ":address_id", $addr_id,
10);
OCIBindByName($sth, ":error_code", $errorcode,
10);
OCIExecute($sth);
?>
Table of Contents
oci_bind_by_name -- Binds the PHP variable to the Oracle
placeholder
oci_cancel -- Cancels reading from cursor
oci_close -- Closes Oracle connection
collection->append -- Appends an object to the collection
collection->assign -- Assigns a value to the collection
from another existing collection
collection->assignElem -- Assigns a value to the element
of the collection
collection->getElem -- Returns value of the element
collection->max -- Gets the maximum number of elements
in the collection
collection->size -- Returns size of the collection
collection->trim -- Trims elements from the end of the
collection
oci_commit -- Commits outstanding statements
oci_connect -- Establishes a connection to Oracle server
oci_define_by_name -- Uses a PHP variable for the define-step
during a SELECT
oci_error -- Returns the last error found
oci_execute -- Executes a statement
oci_fetch_all -- Fetches all rows of result data into an
array
oci_fetch_array -- Returns the next row from the result
data as an associative or numeric array, or both
oci_fetch_assoc -- Returns the next row from the result
data as an associative array
oci_fetch_object -- Returns the next row from the result
data as an object
oci_fetch_row -- Returns the next row from the result data
as a numeric array
oci_fetch -- Fetches the next row into result-buffer
oci_field_is_null -- Checks if the field 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 field's data type
collection->free -- Frees resources associated with collection
object
descriptor->free -- Frees resources associated with descriptor
oci_free_statement -- Frees all resources associated with
statement or cursor
oci_internal_debug -- Enables or disables internal debug
output
lob->append -- Appends data from the large object to
another large object
lob->close -- Closes LOB descriptor
oci_lob_copy -- Copies large object
lob->eof -- Tests for end-of-file on a large object's
descriptor
lob->erase -- Erases a specified portion of the internal
LOB data
lob->export -- Exports LOB's contents to a file
lob->flush -- Flushes/writes buffer of the LOB to the
server
lob->import -- Imports file data to the LOB
oci_lob_is_equal -- Compares two LOB/FILE locators for equality
lob->load -- Returns large object's contents
lob->read -- Reads part of large object
lob->rewind -- Moves the internal pointer to the beginning
of the large object
lob->save -- Saves data to the large object
lob->seek -- Sets the internal pointer of the large object
lob->size -- Returns size of large object
lob->tell -- Returns current position of internal pointer
of large object
lob->truncate -- Truncates large object
lob->writeTemporary -- Writes temporary large object
lob->write -- Writes data to the large object
oci_new_collection -- Allocates new collection object
oci_new_connect -- Establishes a new connection to the Oracle
server
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 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_result -- Returns field's value from the fetched row
oci_rollback -- Rolls back outstanding transaction
oci_server_version -- Returns server version
oci_set_prefetch -- Sets number of rows to be prefetched
oci_statement_type -- Returns the type of an OCI statement
ocibindbyname -- Bind a PHP variable to an Oracle Placeholder
ocicancel -- Cancel reading from cursor
ocicloselob -- Closes lob descriptor
ocicollappend -- Append an object to the collection
ocicollassign -- Assign a collection from another existing
collection
ocicollassignelem -- Assign element val to collection at
index ndx
ocicollgetelem -- Retrieve the value at collection index
ndx
ocicollmax -- Return the max value of a collection. For
a varray this is the maximum length of the array
ocicollsize -- Return the size of a collection
ocicolltrim -- Trim num elements from the end of a collection
ocicolumnisnull -- Test whether a result column is NULL
ocicolumnname -- Returns the name of a column
ocicolumnprecision -- Tell the precision of a column
ocicolumnscale -- Tell the scale of a column
ocicolumnsize -- Return result column size
ocicolumntype -- Returns the data type of a column
ocicolumntyperaw -- Tell the raw oracle data type of a column
ocicommit -- Commits outstanding transactions
ocidefinebyname -- Use a PHP variable for the define-step
during a SELECT
ocierror -- Return the last error of stmt|conn|global
ociexecute -- Execute a statement
ocifetch -- Fetches the next row into result-buffer
ocifetchinto -- Fetches the next row into an array
ocifetchstatement -- Fetch all rows of result data into
an array
ocifreecollection -- Deletes collection object
ocifreecursor -- Free all resources associated with a cursor
ocifreedesc -- Deletes a large object descriptor
ocifreestatement -- Free all resources associated with a
statement
lob->getBuffering -- Returns current state of buffering
for large object
ociinternaldebug -- Enables or disables internal debug output
ociloadlob -- Loads a large object
ocilogoff -- Disconnects from Oracle server
ocilogon -- Establishes a connection to Oracle
ocinewcollection -- Initialize a new collection
ocinewcursor -- Return a new cursor (Statement-Handle)
ocinewdescriptor -- Initialize a new empty LOB or FILE descriptor
ocinlogon -- Establishes a new connection to Oracle
ocinumcols -- Return the number of result columns in a statement
ociparse -- Parse a query and return an Oracle statement
ociplogon -- Connect to an Oracle database using a persistent
connection
ociresult -- Returns column value for fetched row
ocirollback -- Rolls back outstanding transactions
ocirowcount -- Gets the number of affected rows
ocisavelob -- Saves a large object
ocisavelobfile -- Saves a large object file
ociserverversion -- Return a string containing server version
information
lob->setBuffering -- Changes current state of buffering
for large object
ocisetprefetch -- Sets number of rows to be prefetched
ocistatementtype -- Return the type of an OCI statement
ociwritelobtofile -- Saves a large object file
ociwritetemporarylob -- Writes temporary blob