oci_set_client_identifier
(PHP 5 >= 5.3.2, PHP 7, PHP 8, PECL OCI8 >= 1.4.0)
oci_set_client_identifier — Sets the client identifier
Description
The client identifier is registered with the database when the next
'round-trip' from PHP to the database occurs, typically when an SQL
statement is executed.
The identifier can subsequently be queried, for example
with SELECT SYS_CONTEXT('USERENV','CLIENT_IDENTIFIER')
FROM DUAL. Database administration views such
as V$SESSION will also contain the value. It
can be used with DBMS_MONITOR.CLIENT_ID_TRACE_ENABLE
for tracing and can also be used for auditing.
The value may be retained across page requests that use the same persistent connection.
Return Values
Returns true on success or false on failure.
Examples
Example #1 Setting the client identifier to the application user
<?php
// Find the application user's login name
session_start();
$un = my_validate_session($_SESSION['username']);
$c = oci_connect('myschema', 'welcome', 'localhost/XE');
// Tell Oracle who that user is
oci_set_client_identifier($c, $un);
// The next round-trip to the database will piggyback the identifier
$s = oci_parse($c, 'select mydata from mytable');
oci_execute($s);
// ...
?>
Notes
CautionRound-trip Gotcha
Some but not all OCI8 functions cause round-trips. Round-trips to the
database may not occur with queries when result caching is enabled.