From dc4e0980725afcd795328038217d8824c93fb9f8 Mon Sep 17 00:00:00 2001 From: Dan Scott Date: Tue, 3 Oct 2006 02:35:03 +0000 Subject: [PATCH] Document db2_set_option() (based on a draft by Kitman Cheung) git-svn-id: https://svn.php.net/repository/phpdoc/en/trunk@220969 c90b9560-bf6c-de11-be94-00142212c4b1 --- .../ibm_db2/functions/db2-set-option.xml | 677 ++++++++++++++++++ 1 file changed, 677 insertions(+) create mode 100644 reference/ibm_db2/functions/db2-set-option.xml diff --git a/reference/ibm_db2/functions/db2-set-option.xml b/reference/ibm_db2/functions/db2-set-option.xml new file mode 100644 index 0000000000..f9391fa638 --- /dev/null +++ b/reference/ibm_db2/functions/db2-set-option.xml @@ -0,0 +1,677 @@ + + + + + db2_set_option + Set options for connection or statement resources + + + &reftitle.description; + + + booldb2_set_option + + + resourceresource + + + arrayoptions + + + inttype + + + Sets options for a statement resource or a connection resource. You + cannot set options for result set resources. + + + + &reftitle.parameters; + + + + resource + + + A valid statement resource as returned from + db2_prepare or a valid connection resource as + returned from db2_connect or + db2_pconnect. + + + + + options + + + 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. + + + autocommit + + + Passing DB2_AUTOCOMMIT_ON turns + autocommit on for the specified connection resource. + + + Passing DB2_AUTOCOMMIT_OFF turns + autocommit off for the specified connection resource. + + + + + cursor + + + Passing DB2_FORWARD_ONLY specifies a + forward-only cursor for a statement resource. This is the + default cursor type, and is supported by all database + servers. + + + Passing DB2_SCROLLABLE 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. + + + + + binmode + + + Passing DB2_BINARY specifies that + binary data will be returned as is. This is the default + mode. This is the equivalent of setting + ibm_db2.binmode=1 in &php.ini;. + + + Passing DB2_CONVERT specifies that + binary data will be converted to hexadecimal encoding, + and will be returned as such. This is the equivalent of + setting ibm_db2.binmode=2 in &php.ini;. + + + Passing DB2_PASSTHRU specifies that + binary data will be converted to &null;. This is the + equivalent of setting ibm_db2.binmode=3 + in &php.ini;. + + + + + db2_attr_case + + + Passing DB2_CASE_LOWER specifies that + column names of the result set are returned in lower case. + + + Passing DB2_CASE_UPPER specifies that + column names of the result set are returned in upper case. + + + Passing DB2_CASE_NATURAL specifies that + column names of the result set are returned in natural + case. + + + + + + + + + type + + + An integer value that specifies the type of resource that was + passed into the function. The type of resource and this value + must correspond. + + + + + + Passing 1 as the value specifies that + a connection resource has been passed into the function. + + + Passing any integer not equal to 1 as + the value specifies that a statement resource has been + passed into the function. + + + + + + + + + + + + + The following table specifies which options are compatible with + the available resource types: + + Resource-Parameter Matrix + + + + + + + + + + Key + Value + Resource Type + + + + + + Connection + Statement + Result Set + + + autocommit + DB2_AUTOCOMMIT_ON + X + - + - + + + autocommit + DB2_AUTOCOMMIT_OFF + X + - + - + + + cursor + DB2_SCROLLABLE + X + X + - + + + cursor + DB2_FORWARD_ONLY + X + X + - + + + binmode + DB2_BINARY + X + X + - + + + binmode + DB2_CONVERT + X + X + - + + + binmode + DB2_PASSTHRU + X + X + - + + + db2_attr_case + DB2_CASE_LOWER + X + X + - + + + db2_attr_case + DB2_CASE_UPPER + X + X + - + + + db2_attr_case + DB2_CASE_NATURAL + X + X + - + + + +
+
+
+ + + &reftitle.returnvalues; + + &return.success; + + + + + + + &reftitle.examples; + + + + Setting one parameter with a connection resource + + + + 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'; +} +?> +]]> + + &example.outputs; + + + + + Setting multiple parameters with a connection resource + + + + 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'; +} +?> +]]> + + &example.outputs; + + + + + + Setting multiple parameters with an invalid key + + + + 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'; +} +?> +]]> + + &example.outputs; + + + + + + Setting multiple parameters with an invalid value + + + + 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'; +} +?> +]]> + + &example.outputs; + + + + + Setting multiple parameters with a connection resource and the wrong type + + + + 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'; +} +?> +]]> + + &example.outputs; + + + + + Setting multiple parameters with the wrong resource + + + + 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'; +} +?> +]]> + + &example.outputs; + + + + + Putting it all together + + + + 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 '

'; +print_r(db2_fetch_assoc($stmt, 1)); + +?> +]]> +
+ &example.outputs; + 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 +)]]> +
+
+
+ + &reftitle.seealso; + + + db2_connect + db2_pconnect + db2_exec + db2_prepare + db2_cursor_type + + + +
+ +