mirror of
https://github.com/sigmasternchen/php-doc-en
synced 2025-03-21 11:28:55 +00:00

git-svn-id: https://svn.php.net/repository/phpdoc/en/trunk@297028 c90b9560-bf6c-de11-be94-00142212c4b1
917 lines
32 KiB
XML
917 lines
32 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<!-- $Revision$ -->
|
|
<refentry xmlns="http://docbook.org/ns/docbook" xml:id="function.db2-set-option">
|
|
<refnamediv>
|
|
<refname>db2_set_option</refname>
|
|
<refpurpose>Set options for connection or statement resources</refpurpose>
|
|
</refnamediv>
|
|
<refsect1 role="description">
|
|
&reftitle.description;
|
|
<methodsynopsis>
|
|
<type>bool</type><methodname>db2_set_option</methodname>
|
|
<methodparam><type>resource</type><parameter>resource</parameter></methodparam>
|
|
<methodparam><type>array</type><parameter>options</parameter></methodparam>
|
|
<methodparam><type>int</type><parameter>type</parameter></methodparam>
|
|
</methodsynopsis>
|
|
<para>
|
|
Sets options for a statement resource or a connection resource. You
|
|
cannot set options for result set resources.
|
|
</para>
|
|
</refsect1>
|
|
<refsect1 role="parameters">
|
|
&reftitle.parameters;
|
|
<para>
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term><parameter>resource</parameter></term>
|
|
<listitem>
|
|
<para>
|
|
A valid statement resource as returned from
|
|
<function>db2_prepare</function> or a valid connection resource as
|
|
returned from <function>db2_connect</function> or
|
|
<function>db2_pconnect</function>.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><parameter>options</parameter></term>
|
|
<listitem>
|
|
<para>
|
|
An associative array containing valid statement or connection
|
|
options. This parameter can be used to change autocommit values,
|
|
cursor types (scrollable or forward), and to specify the case of
|
|
the column names (lower, upper, or natural) that will appear in a
|
|
result set.
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term><parameter>autocommit</parameter></term>
|
|
<listitem>
|
|
<para>
|
|
Passing <literal>DB2_AUTOCOMMIT_ON</literal> turns
|
|
autocommit on for the specified connection resource.
|
|
</para>
|
|
<para>
|
|
Passing <literal>DB2_AUTOCOMMIT_OFF</literal> turns
|
|
autocommit off for the specified connection resource.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><parameter>cursor</parameter></term>
|
|
<listitem>
|
|
<para>
|
|
Passing <literal>DB2_FORWARD_ONLY</literal> specifies a
|
|
forward-only cursor for a statement resource. This is the
|
|
default cursor type, and is supported by all database
|
|
servers.
|
|
</para>
|
|
<para>
|
|
Passing <literal>DB2_SCROLLABLE</literal> specifies a
|
|
scrollable cursor for a statement resource. Scrollable
|
|
cursors enable result set rows to be accessed in
|
|
non-sequential order, but are only supported by
|
|
IBM DB2 Universal Database databases.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><parameter>binmode</parameter></term>
|
|
<listitem>
|
|
<para>
|
|
Passing <literal>DB2_BINARY</literal> specifies that
|
|
binary data will be returned as is. This is the default
|
|
mode. This is the equivalent of setting
|
|
<literal>ibm_db2.binmode=1</literal> in &php.ini;.
|
|
</para>
|
|
<para>
|
|
Passing <literal>DB2_CONVERT</literal> specifies that
|
|
binary data will be converted to hexadecimal encoding,
|
|
and will be returned as such. This is the equivalent of
|
|
setting <literal>ibm_db2.binmode=2</literal> in &php.ini;.
|
|
</para>
|
|
<para>
|
|
Passing <literal>DB2_PASSTHRU</literal> specifies that
|
|
binary data will be converted to &null;. This is the
|
|
equivalent of setting <literal>ibm_db2.binmode=3</literal>
|
|
in &php.ini;.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><parameter>db2_attr_case</parameter></term>
|
|
<listitem>
|
|
<para>
|
|
Passing <literal>DB2_CASE_LOWER</literal> specifies that
|
|
column names of the result set are returned in lower case.
|
|
</para>
|
|
<para>
|
|
Passing <literal>DB2_CASE_UPPER</literal> specifies that
|
|
column names of the result set are returned in upper case.
|
|
</para>
|
|
<para>
|
|
Passing <literal>DB2_CASE_NATURAL</literal> specifies that
|
|
column names of the result set are returned in natural
|
|
case.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><parameter>deferred_prepare</parameter></term>
|
|
<listitem>
|
|
<para>
|
|
Passing <literal>DB2_DEFERRED_PREPARE_ON</literal> turns deferred
|
|
prepare on for the specified statement resource.
|
|
</para>
|
|
<para>
|
|
Passing <literal>DB2_DEFERRED_PREPARE_OFF</literal> turns deferred
|
|
prepare off for the specified statement resource.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
</para>
|
|
<para>
|
|
The following new i5/OS options are available in ibm_db2 version 1.5.1
|
|
and later. These options apply only when running PHP and ibm_db2 natively on i5 systems.
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term><parameter>i5_fetch_only</parameter></term>
|
|
<listitem>
|
|
<para>
|
|
<literal>DB2_I5_FETCH_ON</literal> - Cursors are read-only
|
|
and cannot be used for positioned updates or deletes. This
|
|
is the default unless <literal>SQL_ATTR_FOR_FETCH_ONLY</literal>
|
|
environment has been set to <literal>SQL_FALSE</literal>.
|
|
</para>
|
|
<para>
|
|
<literal>DB2_I5_FETCH_OFF</literal> - Cursors can be used
|
|
for positioned updates and deletes.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
</para>
|
|
<para>
|
|
The following new option is available in ibm_db2 version 1.8.0 and later.
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term><parameter>rowcount</parameter></term>
|
|
<listitem>
|
|
<para>
|
|
<literal>DB2_ROWCOUNT_PREFETCH_ON</literal> - Client can request
|
|
the full row count prior to fetching, which means that
|
|
<function>db2_num_rows</function> returns the number of rows selected
|
|
even when a <literal>ROLLFORWARD_ONLY</literal> cursor is used.
|
|
</para>
|
|
<para>
|
|
<literal>DB2_ROWCOUNT_PREFETCH_OFF</literal> - Client cannot request
|
|
the full row count prior to fetching.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
</para>
|
|
<para>
|
|
The following new options are available in ibm_db2 version 1.7.0 and later.
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term><parameter>trusted_user</parameter></term>
|
|
<listitem>
|
|
<para>
|
|
To switch the user to a trusted user, pass the User ID (String)
|
|
of the trusted user as the value of this key. This option can
|
|
be set on a connection resource only. To use this option, trusted
|
|
context must be enabled on the connection resource.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><parameter>trusted_password</parameter></term>
|
|
<listitem>
|
|
<para>
|
|
The password (String) that corresponds to the user specified
|
|
by the trusted_user key.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
</para>
|
|
<para>
|
|
The following new options are available in ibm_db2 version 1.6.0 and later.
|
|
These options provide useful tracking information that can be accessed during
|
|
execution with <function>db2_get_option</function>.
|
|
<note>
|
|
<para>
|
|
When the value in each option is being set, some servers might not handle
|
|
the entire length provided and might truncate the value.
|
|
</para>
|
|
<para>
|
|
To ensure that the data specified in each option is converted correctly
|
|
when transmitted to a host system, use only the characters A through Z,
|
|
0 through 9, and the underscore (_) or period (.).
|
|
</para>
|
|
</note>
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term><parameter>userid</parameter></term>
|
|
<listitem>
|
|
<para>
|
|
<literal>SQL_ATTR_INFO_USERID</literal> - A pointer to a null-terminated
|
|
character string used to identify the client user ID sent to the host
|
|
database server when using DB2 Connect.
|
|
<note>
|
|
<para>
|
|
DB2 for z/OS and OS/390 servers support up to a length of 16 characters.
|
|
This user-id is not to be confused with the authentication user-id, it is for
|
|
identification purposes only and is not used for any authorization.
|
|
</para>
|
|
</note>
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><parameter>acctstr</parameter></term>
|
|
<listitem>
|
|
<para>
|
|
<literal>SQL_ATTR_INFO_ACCTSTR</literal> - A pointer to a null-terminated
|
|
character string used to identify the client accounting string sent to the
|
|
host database server when using DB2 Connect.
|
|
<note>
|
|
<para>
|
|
DB2 for z/OS and OS/390 servers support up to a length of 200 characters.
|
|
</para>
|
|
</note>
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><parameter>applname</parameter></term>
|
|
<listitem>
|
|
<para>
|
|
<literal>SQL_ATTR_INFO_APPLNAME</literal> - A pointer to a null-terminated
|
|
character string used to identify the client application name sent to the
|
|
host database server when using DB2 Connect.
|
|
<note>
|
|
<para>
|
|
DB2 for z/OS and OS/390 servers support up to a length of 32 characters.
|
|
</para>
|
|
</note>
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><parameter>wrkstnname</parameter></term>
|
|
<listitem>
|
|
<para>
|
|
<literal>SQL_ATTR_INFO_WRKSTNNAME</literal> - A pointer to a null-terminated
|
|
character string used to identify the client workstation name sent to the
|
|
host database server when using DB2 Connect.
|
|
<note>
|
|
<para>
|
|
DB2 for z/OS and OS/390 servers support up to a length of 18 characters.
|
|
</para>
|
|
</note>
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><parameter>type</parameter></term>
|
|
<listitem>
|
|
<para>
|
|
An integer value that specifies the type of resource that was
|
|
passed into the function. The type of resource and this value
|
|
must correspond.
|
|
</para>
|
|
<para>
|
|
Passing <literal>1</literal> as the value specifies that
|
|
a connection resource has been passed into the function.
|
|
</para>
|
|
<para>
|
|
Passing any integer not equal to <literal>1</literal> as
|
|
the value specifies that a statement resource has been
|
|
passed into the function.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
</para>
|
|
<para>
|
|
</para>
|
|
<para>
|
|
The following table specifies which options are compatible with
|
|
the available resource types:
|
|
<table>
|
|
<title>Resource-Parameter Matrix</title>
|
|
<tgroup cols="5">
|
|
<colspec colnum="1" colname="col1" align="center" />
|
|
<colspec colnum="2" colname="col2" align="center" />
|
|
<colspec colnum="3" colname="col3" align="center" />
|
|
<colspec colnum="4" colname="col4" align="center" />
|
|
<colspec colnum="5" colname="col5" align="center" />
|
|
|
|
<thead>
|
|
<row>
|
|
<entry morerows="1">Key</entry>
|
|
<entry morerows="1">Value</entry>
|
|
<entry namest="col3" nameend="col5">Resource Type</entry>
|
|
</row>
|
|
</thead>
|
|
|
|
<tbody>
|
|
<row>
|
|
<entry colname="col3">Connection</entry>
|
|
<entry colname="col4">Statement</entry>
|
|
<entry colname="col5">Result Set</entry>
|
|
</row>
|
|
<row>
|
|
<entry>autocommit</entry>
|
|
<entry><literal>DB2_AUTOCOMMIT_ON</literal></entry>
|
|
<entry colname="col3">X</entry>
|
|
<entry colname="col4">-</entry>
|
|
<entry colname="col5">-</entry>
|
|
</row>
|
|
<row>
|
|
<entry>autocommit</entry>
|
|
<entry><literal>DB2_AUTOCOMMIT_OFF</literal></entry>
|
|
<entry colname="col3">X</entry>
|
|
<entry colname="col4">-</entry>
|
|
<entry colname="col5">-</entry>
|
|
</row>
|
|
<row>
|
|
<entry>cursor</entry>
|
|
<entry><literal>DB2_SCROLLABLE</literal></entry>
|
|
<entry colname="col3">-</entry>
|
|
<entry colname="col4">X</entry>
|
|
<entry colname="col5">-</entry>
|
|
</row>
|
|
<row>
|
|
<entry>cursor</entry>
|
|
<entry><literal>DB2_FORWARD_ONLY</literal></entry>
|
|
<entry colname="col3">-</entry>
|
|
<entry colname="col4">X</entry>
|
|
<entry colname="col5">-</entry>
|
|
</row>
|
|
<row>
|
|
<entry>binmode</entry>
|
|
<entry><literal>DB2_BINARY</literal></entry>
|
|
<entry colname="col3">X</entry>
|
|
<entry colname="col4">X</entry>
|
|
<entry colname="col5">-</entry>
|
|
</row>
|
|
<row>
|
|
<entry>binmode</entry>
|
|
<entry><literal>DB2_CONVERT</literal></entry>
|
|
<entry colname="col3">X</entry>
|
|
<entry colname="col4">X</entry>
|
|
<entry colname="col5">-</entry>
|
|
</row>
|
|
<row>
|
|
<entry>binmode</entry>
|
|
<entry><literal>DB2_PASSTHRU</literal></entry>
|
|
<entry colname="col3">X</entry>
|
|
<entry colname="col4">X</entry>
|
|
<entry colname="col5">-</entry>
|
|
</row>
|
|
<row>
|
|
<entry>db2_attr_case</entry>
|
|
<entry><literal>DB2_CASE_LOWER</literal></entry>
|
|
<entry colname="col3">X</entry>
|
|
<entry colname="col4">X</entry>
|
|
<entry colname="col5">-</entry>
|
|
</row>
|
|
<row>
|
|
<entry>db2_attr_case</entry>
|
|
<entry><literal>DB2_CASE_UPPER</literal></entry>
|
|
<entry colname="col3">X</entry>
|
|
<entry colname="col4">X</entry>
|
|
<entry colname="col5">-</entry>
|
|
</row>
|
|
<row>
|
|
<entry>db2_attr_case</entry>
|
|
<entry><literal>DB2_CASE_NATURAL</literal></entry>
|
|
<entry colname="col3">X</entry>
|
|
<entry colname="col4">X</entry>
|
|
<entry colname="col5">-</entry>
|
|
</row>
|
|
<row>
|
|
<entry>deferred_prepare</entry>
|
|
<entry><literal>DB2_DEFERRED_PREPARE_ON</literal></entry>
|
|
<entry colname="col3">-</entry>
|
|
<entry colname="col4">X</entry>
|
|
<entry colname="col5">-</entry>
|
|
</row>
|
|
<row>
|
|
<entry>deferred_prepare</entry>
|
|
<entry><literal>DB2_DEFERRED_PREPARE_OFF</literal></entry>
|
|
<entry colname="col3">-</entry>
|
|
<entry colname="col4">X</entry>
|
|
<entry colname="col5">-</entry>
|
|
</row>
|
|
<row>
|
|
<entry>i5_fetch_only</entry>
|
|
<entry><literal>DB2_I5_FETCH_ON</literal></entry>
|
|
<entry colname="col3">-</entry>
|
|
<entry colname="col4">X</entry>
|
|
<entry colname="col5">-</entry>
|
|
</row>
|
|
<row>
|
|
<entry>i5_fetch_only</entry>
|
|
<entry><literal>DB2_I5_FETCH_OFF</literal></entry>
|
|
<entry colname="col3">-</entry>
|
|
<entry colname="col4">X</entry>
|
|
<entry colname="col5">-</entry>
|
|
</row>
|
|
<row>
|
|
<entry>rowcount</entry>
|
|
<entry><literal>DB2_ROWCOUNT_PREFETCH_ON</literal></entry>
|
|
<entry colname="col3">-</entry>
|
|
<entry colname="col4">X</entry>
|
|
<entry colname="col5">-</entry>
|
|
</row>
|
|
<row>
|
|
<entry>rowcount</entry>
|
|
<entry><literal>DB2_ROWCOUNT_PREFETCH_OFF</literal></entry>
|
|
<entry colname="col3">-</entry>
|
|
<entry colname="col4">X</entry>
|
|
<entry colname="col5">-</entry>
|
|
</row>
|
|
<row>
|
|
<entry>trusted_user</entry>
|
|
<entry><literal><USER NAME> (String)</literal></entry>
|
|
<entry colname="col3">X</entry>
|
|
<entry colname="col4">-</entry>
|
|
<entry colname="col5">-</entry>
|
|
</row>
|
|
<row>
|
|
<entry>trusted_password</entry>
|
|
<entry><literal><PASSWORD> (String)</literal></entry>
|
|
<entry colname="col3">X</entry>
|
|
<entry colname="col4">-</entry>
|
|
<entry colname="col5">-</entry>
|
|
</row>
|
|
<row>
|
|
<entry>userid</entry>
|
|
<entry><literal>SQL_ATTR_INFO_USERID</literal></entry>
|
|
<entry colname="col3">X</entry>
|
|
<entry colname="col4">X</entry>
|
|
<entry colname="col5">-</entry>
|
|
</row>
|
|
<row>
|
|
<entry>acctstr</entry>
|
|
<entry><literal>SQL_ATTR_INFO_ACCTSTR</literal></entry>
|
|
<entry colname="col3">X</entry>
|
|
<entry colname="col4">X</entry>
|
|
<entry colname="col5">-</entry>
|
|
</row>
|
|
<row>
|
|
<entry>applname</entry>
|
|
<entry><literal>SQL_ATTR_INFO_APPLNAME</literal></entry>
|
|
<entry colname="col3">X</entry>
|
|
<entry colname="col4">X</entry>
|
|
<entry colname="col5">-</entry>
|
|
</row>
|
|
<row>
|
|
<entry>wrkstnname</entry>
|
|
<entry><literal>SQL_ATTR_INFO_WRKSTNNAME</literal></entry>
|
|
<entry colname="col3">X</entry>
|
|
<entry colname="col4">X</entry>
|
|
<entry colname="col5">-</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</table>
|
|
</para>
|
|
</refsect1>
|
|
|
|
<refsect1 role="returnvalues">
|
|
&reftitle.returnvalues;
|
|
<para>
|
|
&return.success;
|
|
</para>
|
|
</refsect1>
|
|
<!-- Place Changelog next if any -->
|
|
|
|
<!-- Place Examples next if any -->
|
|
<refsect1 role="examples">
|
|
&reftitle.examples;
|
|
<para>
|
|
|
|
<example>
|
|
<title>Setting one parameter with a connection resource</title>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php
|
|
/* Database Connection Parameters */
|
|
$database = 'SAMPLE';
|
|
$hostname = 'localhost';
|
|
$port = 50000;
|
|
$protocol = 'TCPIP';
|
|
$username = 'db2inst1';
|
|
$password = 'ibmdb2';
|
|
|
|
/* Connection String */
|
|
$conn_string = "DRIVER={IBM DB2 ODBC DRIVER};DATABASE=$database;";
|
|
$conn_string .= "HOSTNAME=$hostname;PORT=$port;PROTOCOL=$protocol;";
|
|
$conn_string .= "UID=$username;PWD=$password;";
|
|
|
|
/* Obtain Connection Resource */
|
|
$conn = db2_connect($conn_string, '', '');
|
|
|
|
/* Create the associative options array with valid key-value pairs */
|
|
$options = array('autocommit' => DB2_AUTOCOMMIT_ON);
|
|
|
|
/* Call the function using the correct resource, options array, and type values */
|
|
$result = db2_set_option($conn, $options, 1);
|
|
|
|
/* Check if all options could be set correctly */
|
|
if($result)
|
|
{
|
|
echo 'Options Set Successfully';
|
|
}
|
|
else
|
|
{
|
|
echo 'Could Not Set Options';
|
|
}
|
|
?>
|
|
]]>
|
|
</programlisting>
|
|
&example.outputs;
|
|
<screen><![CDATA[Options Set Successfully]]></screen>
|
|
</example>
|
|
|
|
<example>
|
|
<title>Setting multiple parameters with a connection resource</title>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php
|
|
/* Database Connection Parameters */
|
|
$database = 'SAMPLE';
|
|
$hostname = 'localhost';
|
|
$port = 50000;
|
|
$protocol = 'TCPIP';
|
|
$username = 'db2inst1';
|
|
$password = 'ibmdb2';
|
|
|
|
/* Connection String */
|
|
$conn_string = "DRIVER={IBM DB2 ODBC DRIVER};DATABASE=$database;";
|
|
$conn_string .= "HOSTNAME=$hostname;PORT=$port;PROTOCOL=$protocol;";
|
|
$conn_string .= "UID=$username;PWD=$password;";
|
|
|
|
/* Obtain Connection Resource */
|
|
$conn = db2_connect($conn_string, '', '');
|
|
|
|
/* Create the associative options array with valid key-value pairs */
|
|
$options = array('autocommit' => DB2_AUTOCOMMIT_OFF,
|
|
'binmode' => DB2_PASSTHRU,
|
|
'db2_attr_case' => DB2_CASE_UPPER,
|
|
'cursor' => DB2_SCROLLABLE);
|
|
|
|
/* Call the function using the correct resource, options array, and type values */
|
|
$result = db2_set_option($conn, $options, 1);
|
|
|
|
/* Check if all options could be set correctly */
|
|
if($result)
|
|
{
|
|
echo 'Options Set Successfully';
|
|
}
|
|
else
|
|
{
|
|
echo 'Could Not Set Options';
|
|
}
|
|
?>
|
|
]]>
|
|
</programlisting>
|
|
&example.outputs;
|
|
<screen><![CDATA[Options Set Successfully]]></screen>
|
|
</example>
|
|
|
|
<!-- Behaves Incorrectly -->
|
|
<example>
|
|
<title>Setting multiple parameters with an invalid key</title>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php
|
|
/* Database Connection Parameters */
|
|
$database = 'SAMPLE';
|
|
$hostname = 'localhost';
|
|
$port = 50000;
|
|
$protocol = 'TCPIP';
|
|
$username = 'db2inst1';
|
|
$password = 'ibmdb2';
|
|
|
|
/* Connection String */
|
|
$conn_string = "DRIVER={IBM DB2 ODBC DRIVER};DATABASE=$database;";
|
|
$conn_string .= "HOSTNAME=$hostname;PORT=$port;PROTOCOL=$protocol;";
|
|
$conn_string .= "UID=$username;PWD=$password;";
|
|
|
|
/* Obtain Connection Resource */
|
|
$conn = db2_connect($conn_string, '', '');
|
|
|
|
/* Create the associative options array with valid key-value pairs */
|
|
$options = array('autocommit' => DB2_AUTOCOMMIT_OFF,
|
|
'MY_INVALID_KEY' => DB2_PASSTHRU,
|
|
'db2_attr_case' => DB2_CASE_UPPER,
|
|
'cursor' => DB2_SCROLLABLE);
|
|
|
|
/* Call the function using the correct resource, options array, and type values */
|
|
$result = db2_set_option($conn, $options, 1);
|
|
|
|
/* Check if all options could be set correctly */
|
|
if($result)
|
|
{
|
|
echo 'Options Set Successfully';
|
|
}
|
|
else
|
|
{
|
|
echo 'Could Not Set Options';
|
|
}
|
|
?>
|
|
]]>
|
|
</programlisting>
|
|
&example.outputs;
|
|
<screen><![CDATA[Could Not Set Options]]></screen>
|
|
</example>
|
|
|
|
<!-- Behaves Incorrectly -->
|
|
<example>
|
|
<title>Setting multiple parameters with an invalid value</title>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php
|
|
/* Database Connection Parameters */
|
|
$database = 'SAMPLE';
|
|
$hostname = 'localhost';
|
|
$port = 50000;
|
|
$protocol = 'TCPIP';
|
|
$username = 'db2inst1';
|
|
$password = 'ibmdb2';
|
|
|
|
/* Connection String */
|
|
$conn_string = "DRIVER={IBM DB2 ODBC DRIVER};DATABASE=$database;";
|
|
$conn_string .= "HOSTNAME=$hostname;PORT=$port;PROTOCOL=$protocol;";
|
|
$conn_string .= "UID=$username;PWD=$password;";
|
|
|
|
/* Obtain Connection Resource */
|
|
$conn = db2_connect($conn_string, '', '');
|
|
|
|
/* Create the associative options array with valid key-value pairs */
|
|
$options = array('autocommit' => DB2_AUTOCOMMIT_OFF,
|
|
'binmode' => 'INVALID_VALUE',
|
|
'db2_attr_case' => DB2_CASE_UPPER,
|
|
'cursor' => DB2_SCROLLABLE);
|
|
|
|
/* Call the function using the correct resource, options array, and type values */
|
|
$result = db2_set_option($conn, $options, 1);
|
|
|
|
/* Check if all options could be set correctly */
|
|
if($result)
|
|
{
|
|
echo 'Options Set Successfully';
|
|
}
|
|
else
|
|
{
|
|
echo 'Could Not Set Options';
|
|
}
|
|
?>
|
|
]]>
|
|
</programlisting>
|
|
&example.outputs;
|
|
<screen><![CDATA[Could Not Set Options]]></screen>
|
|
</example>
|
|
|
|
<example>
|
|
<title>Setting multiple parameters with a connection resource and the wrong type</title>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php
|
|
/* Database Connection Parameters */
|
|
$database = 'SAMPLE';
|
|
$hostname = 'localhost';
|
|
$port = 50000;
|
|
$protocol = 'TCPIP';
|
|
$username = 'db2inst1';
|
|
$password = 'ibmdb2';
|
|
|
|
/* Connection String */
|
|
$conn_string = "DRIVER={IBM DB2 ODBC DRIVER};DATABASE=$database;";
|
|
$conn_string .= "HOSTNAME=$hostname;PORT=$port;PROTOCOL=$protocol;";
|
|
$conn_string .= "UID=$username;PWD=$password;";
|
|
|
|
/* Obtain Connection Resource */
|
|
$conn = db2_connect($conn_string, '', '');
|
|
|
|
/* Create the associative options array with valid key-value pairs */
|
|
$options = array('autocommit' => DB2_AUTOCOMMIT_OFF,
|
|
'binmode' => DB2_PASSTHRU,
|
|
'db2_attr_case' => DB2_CASE_UPPER,
|
|
'cursor' => DB2_SCROLLABLE);
|
|
|
|
/* Call the function using the correct resource, options array, and the wrong type value */
|
|
$result = db2_set_option($conn, $options, 2);
|
|
|
|
/* Check if all options could be set correctly */
|
|
if($result)
|
|
{
|
|
echo 'Options Set Successfully';
|
|
}
|
|
else
|
|
{
|
|
echo 'Could Not Set Options';
|
|
}
|
|
?>
|
|
]]>
|
|
</programlisting>
|
|
&example.outputs;
|
|
<screen><![CDATA[Could Not Set Options]]></screen>
|
|
</example>
|
|
|
|
<example>
|
|
<title>Setting multiple parameters with the wrong resource</title>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php
|
|
/* Database Connection Parameters */
|
|
$database = 'SAMPLE';
|
|
$hostname = 'localhost';
|
|
$port = 50000;
|
|
$protocol = 'TCPIP';
|
|
$username = 'db2inst1';
|
|
$password = 'ibmdb2';
|
|
|
|
/* Connection String */
|
|
$conn_string = "DRIVER={IBM DB2 ODBC DRIVER};DATABASE=$database;";
|
|
$conn_string .= "HOSTNAME=$hostname;PORT=$port;PROTOCOL=$protocol;";
|
|
$conn_string .= "UID=$username;PWD=$password;";
|
|
|
|
/* Obtain Connection Resource */
|
|
$conn = db2_connect($conn_string, '', '');
|
|
|
|
/* Create the associative options array with valid key-value pairs */
|
|
$options = array('autocommit' => DB2_AUTOCOMMIT_OFF,
|
|
'binmode' => DB2_PASSTHRU,
|
|
'db2_attr_case' => DB2_CASE_UPPER,
|
|
'cursor' => DB2_SCROLLABLE);
|
|
|
|
$stmt = db2_prepare($conn, 'SELECT * FROM EMPLOYEE');
|
|
|
|
/* Call the function using the wrong resource, and the correct options array, and type values */
|
|
$result = db2_set_option($stmt, $options, 1);
|
|
|
|
/* Check if all options could be set correctly */
|
|
if($result)
|
|
{
|
|
echo 'Options Set Successfully';
|
|
}
|
|
else
|
|
{
|
|
echo 'Could Not Set Options';
|
|
}
|
|
?>
|
|
]]>
|
|
</programlisting>
|
|
&example.outputs;
|
|
<screen><![CDATA[Could Not Set Options]]></screen>
|
|
</example>
|
|
|
|
<example>
|
|
<title>Putting it all together</title>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php
|
|
/* Database Connection Parameters */
|
|
$database = 'SAMPLE';
|
|
$hostname = 'localhost';
|
|
$port = 50000;
|
|
$protocol = 'TCPIP';
|
|
$username = 'db2inst1';
|
|
$password = 'ibmdb2';
|
|
|
|
/* Connection String */
|
|
$conn_string = "DRIVER={IBM DB2 ODBC DRIVER};DATABASE=$database;";
|
|
$conn_string .= "HOSTNAME=$hostname;PORT=$port;PROTOCOL=$protocol;";
|
|
$conn_string .= "UID=$username;PWD=$password;";
|
|
|
|
/* Obtain Connection Resource */
|
|
$conn = db2_connect($conn_string, '', '');
|
|
|
|
/* Create the associative options array with valid key-value pairs */
|
|
$options = array('db2_attr_case' => DB2_CASE_LOWER,
|
|
'cursor' => DB2_SCROLLABLE);
|
|
|
|
$stmt = db2_prepare($conn, 'SELECT * FROM EMPLOYEE WHERE EMPNO = ? OR EMPNO = ?');
|
|
|
|
/* Call the function using the correct resource, options array, and type values */
|
|
$option_result = db2_set_option($stmt, $options, 2);
|
|
$result = db2_execute($stmt, array('000130', '000140'));
|
|
|
|
/* Get Row 2 before Row 1 since Scrollable Cursor */
|
|
print_r(db2_fetch_assoc($stmt, 2));
|
|
print '<br /><br />';
|
|
print_r(db2_fetch_assoc($stmt, 1));
|
|
|
|
?>
|
|
]]>
|
|
</programlisting>
|
|
&example.outputs;
|
|
<screen><![CDATA[Array
|
|
(
|
|
[empno] => 000140
|
|
[firstnme] => HEATHER
|
|
[midinit] => A
|
|
[lastname] => NICHOLLS
|
|
[workdept] => C01
|
|
[phoneno] => 1793
|
|
[hiredate] => 1976-12-15
|
|
[job] => ANALYST
|
|
[edlevel] => 18
|
|
[sex] => F
|
|
[birthdate] => 1946-01-19
|
|
[salary] => 28420.00
|
|
[bonus] => 600.00
|
|
[comm] => 2274.00
|
|
)
|
|
|
|
Array
|
|
(
|
|
[empno] => 000130
|
|
[firstnme] => DELORES
|
|
[midinit] => M
|
|
[lastname] => QUINTANA
|
|
[workdept] => C01
|
|
[phoneno] => 4578
|
|
[hiredate] => 1971-07-28
|
|
[job] => ANALYST
|
|
[edlevel] => 16
|
|
[sex] => F
|
|
[birthdate] => 1925-09-15
|
|
[salary] => 23800.00
|
|
[bonus] => 500.00
|
|
[comm] => 1904.00
|
|
)]]></screen>
|
|
</example>
|
|
<example>
|
|
<title>i5/OS cursors are read-only</title>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php
|
|
$conn = db2_connect("", "", "", array("i5_lib"=>"nobody"));
|
|
$stmt = db2_prepare($conn, 'select * from names where first = ?');
|
|
$name = "first2";
|
|
db2_bind_param($stmt, 1, "name", DB2_PARAM_IN);
|
|
$options = array("i5_fetch_only"=>DB2_I5_FETCH_ON);
|
|
db2_set_option($stmt,$options,0);
|
|
if (db2_execute($stmt)) {
|
|
while ($row = db2_fetch_array($stmt)) {
|
|
echo "{$row[0]} {$row[1]}";
|
|
}
|
|
}
|
|
?>
|
|
]]>
|
|
</programlisting>
|
|
&example.outputs;
|
|
<screen>
|
|
<![CDATA[
|
|
first2 last2
|
|
]]>
|
|
</screen>
|
|
</example>
|
|
</para>
|
|
</refsect1>
|
|
<refsect1 role="seealso">
|
|
&reftitle.seealso;
|
|
<para>
|
|
<simplelist>
|
|
<member><function>db2_connect</function></member>
|
|
<member><function>db2_pconnect</function></member>
|
|
<member><function>db2_exec</function></member>
|
|
<member><function>db2_prepare</function></member>
|
|
<member><function>db2_cursor_type</function></member>
|
|
</simplelist>
|
|
</para>
|
|
</refsect1>
|
|
</refentry>
|
|
|
|
<!-- Keep this comment at the end of the file
|
|
Local variables:
|
|
mode: sgml
|
|
sgml-omittag:t
|
|
sgml-shorttag:t
|
|
sgml-minimize-attributes:nil
|
|
sgml-always-quote-attributes:t
|
|
sgml-indent-step:1
|
|
sgml-indent-data:t
|
|
indent-tabs-mode:nil
|
|
sgml-parent-document:nil
|
|
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
|
|
sgml-exposed-tags:nil
|
|
sgml-local-catalogs:nil
|
|
sgml-local-ecat-files:nil
|
|
End:
|
|
vim600: syn=xml fen fdm=syntax fdl=2 si
|
|
vim: et tw=78 syn=sgml
|
|
vi: ts=1 sw=1
|
|
-->
|