cvs: phpdoc /en/reference/ibm_db2/functions db2-commit.xml db2-next-result.xml db2-rollback.xml
| From: | Dan Scott | Date: | Wed, 20 Apr 2005 06:16:13 +0000 |
| Subject: | cvs: phpdoc /en/reference/ibm_db2/functions db2-commit.xml db2-next-result.xml db2-rollback.xml | ||
| Groups: | php.doc | ||
| Request: | Send a blank email to phpdoc+get-969367903@lists.php.net to get a copy of this message | ||
dbs Wed Apr 20 02:16:13 2005 EDT
Modified files:
/phpdoc/en/reference/ibm_db2/functions db2-commit.xml
db2-next-result.xml
db2-rollback.xml
Log:
Document the transactional functions.
Add docs for returning multiple result sets from stored procedures.
http://cvs.php.net/diff.php/phpdoc/en/reference/ibm_db2/functions/db2-commit.xml?r1=1.1&r2=1.2&ty=u Index: phpdoc/en/reference/ibm_db2/functions/db2-commit.xml diff -u phpdoc/en/reference/ibm_db2/functions/db2-commit.xml:1.1 phpdoc/en/reference/ibm_db2/functions/db2-commit.xml:1.2 --- phpdoc/en/reference/ibm_db2/functions/db2-commit.xml:1.1 Tue Apr 12 17:12:48 2005 +++ phpdoc/en/reference/ibm_db2/functions/db2-commit.xml Wed Apr 20 02:16:12 2005 @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- $Revision: 1.1 $ --> +<!-- $Revision: 1.2 $ --> <!-- Generated by xml_proto.php v2.2. Found in /scripts directory of phpdoc. --> <refentry id="function.db2-commit"> <refnamediv> @@ -15,7 +15,22 @@ <methodparam><type>resource</type><parameter>connection</parameter></methodparam> </methodsynopsis> - &warn.undocumented.func; + &warn.experimental.func; + + <para> + Commits an in-progress transaction on the specified connection resource and + begins a new transaction. PHP applications normally default to AUTOCOMMIT + mode, so <function>db2_commit</function> is not necessary unless AUTOCOMMIT + has been turned off for the connection resource. + </para> + <note> + <para> + If the specified connection resource is a persistent connection, all + transactions in progress for all applications using that persistent + connection will be committed. For this reason, persistent connections are + not recommended for use in applications that require transactions. + </para> + </note> </refsect1> <refsect1 role="parameters"> @@ -24,58 +39,23 @@ <variablelist> <varlistentry> <term><parameter>connection</parameter></term> - <listitem> - <para> - Its description - </para> - </listitem> - </varlistentry> + <listitem> + <para> + A valid database connection resource variable as returned from + <function>db2_connect</function> or <function>db2_pconnect</function>. + </para> + </listitem> + </varlistentry> </variablelist> </para> </refsect1> <refsect1 role="returnvalues"> &reftitle.returnvalues; <para> - What the function returns, first on success, then on failure. See - also the &return.success; entity + &return.success; </para> </refsect1> - <!-- Use when EXCEPTIONS exist - <refsect1 role="exceptions"> - &reftitle.exceptions; - <para> - When does this function throw exceptions? - </para> - </refsect1> - --> - - - <!-- Use when a CHANGELOG exists - <refsect1 role="changelog"> - &reftitle.changelog; - <para> - <informaltable> - <tgroup cols="2"> - <thead> - <row> - <entry>&Version;</entry> - <entry>&Description</entry> - </row> - </thead> - <tbody> - <row> - <entry>Enter the PHP version of change here - <entry>Description of change - </row> - </tbody> - </tgroup> - </informaltable> - </para> - </refsect1> - --> - - <!-- Use when examples exist <refsect1 role="examples"> &reftitle.examples; @@ -107,19 +87,15 @@ </refsect1> --> - - <!-- Use when adding See Also links <refsect1 role="seealso"> &reftitle.seealso; <para> <simplelist> - <member><function></function></member> - <member>Or <link linkend="somethingelse">something else</link></member> + <member><function>db2_autocommit</function></member> + <member><function>db2_rollback</function></member> </simplelist> </para> </refsect1> - --> - </refentry> http://cvs.php.net/diff.php/phpdoc/en/reference/ibm_db2/functions/db2-next-result.xml?r1=1.1&r2=1.2&ty=u Index: phpdoc/en/reference/ibm_db2/functions/db2-next-result.xml diff -u phpdoc/en/reference/ibm_db2/functions/db2-next-result.xml:1.1 phpdoc/en/reference/ibm_db2/functions/db2-next-result.xml:1.2 --- phpdoc/en/reference/ibm_db2/functions/db2-next-result.xml:1.1 Tue Apr 12 17:12:48 2005 +++ phpdoc/en/reference/ibm_db2/functions/db2-next-result.xml Wed Apr 20 02:16:13 2005 @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- $Revision: 1.1 $ --> +<!-- $Revision: 1.2 $ --> <!-- Generated by xml_proto.php v2.2. Found in /scripts directory of phpdoc. --> <refentry id="function.db2-next-result"> <refnamediv> @@ -15,7 +15,16 @@ <methodparam><type>resource</type><parameter>stmt</parameter></methodparam> </methodsynopsis> - &warn.undocumented.func; + &warn.experimental.func; + + <para> + A stored procedure can return zero or more result sets. While you handle + the first result set in exactly the same way you would handle the results + returned by a simple SELECT statement, to fetch the second and subsequent + result sets from a stored procedure you must call the + <function>db2_next_result</function> function and return the result to a + uniquely named PHP variable. + </para> </refsect1> <refsect1 role="parameters"> @@ -24,74 +33,68 @@ <variablelist> <varlistentry> <term><parameter>stmt</parameter></term> - <listitem> - <para> - Its description - </para> - </listitem> - </varlistentry> + <listitem> + <para> + A prepared statement returned from <function>db2_exec</function> or + <function>db2_execute</function>. + </para> + </listitem> + </varlistentry> </variablelist> </para> </refsect1> <refsect1 role="returnvalues"> &reftitle.returnvalues; <para> - What the function returns, first on success, then on failure. See - also the &return.success; entity - </para> - </refsect1> - - <!-- Use when EXCEPTIONS exist - <refsect1 role="exceptions"> - &reftitle.exceptions; - <para> - When does this function throw exceptions? + Returns a new statement resource containing the next result set if the + stored procedure returned another result set. Returns &false; if the stored + procedure did not return another result set. </para> </refsect1> - --> - - - <!-- Use when a CHANGELOG exists - <refsect1 role="changelog"> - &reftitle.changelog; - <para> - <informaltable> - <tgroup cols="2"> - <thead> - <row> - <entry>&Version;</entry> - <entry>&Description</entry> - </row> - </thead> - <tbody> - <row> - <entry>Enter the PHP version of change here - <entry>Description of change - </row> - </tbody> - </tgroup> - </informaltable> - </para> - </refsect1> - --> - - <!-- Use when examples exist <refsect1 role="examples"> &reftitle.examples; <para> <example> - <title>A <function>db2_next_result</function> example</title> + <title>Calling a stored procedure that returns multiple result sets</title> <para> - Any text that describes the purpose of the example, or - what goes on in the example should go here (inside the - <example> tag, not out + In the following example, we call a stored procedure that returns three + result sets. The first result set is fetched directly from the same + statement resource on which we invoked the CALL statement, while the + second and third result sets are fetched from statement resources + returned from our calls to the <function>db2_next_result</function> + function. </para> <programlisting role="php"> <![CDATA[ <?php -if ($anexample === true) { - echo 'Use the PEAR Coding Standards'; +$conn = db2_connect($database, $user, $password); + +if ($conn) { + $stmt = db2_exec($conn, 'CALL multiResults()'); + + print "Fetching first result set\n"; + while ($row = db2_fetch_into($stmt)) { + var_dump($row); + } + + print "\nFetching second result set\n"; + $res = db2_next_result($stmt); + if ($res) { + while ($row = db2_fetch_into($res)) { + var_dump($row); + } + } + + print "\nFetching third result set\n"; + $res2 = db2_next_result($stmt); + if ($res2) { + while ($row = db2_fetch_into($res2)) { + var_dump($row); + } + } + + db2_close($conn); } ?> ]]> @@ -99,13 +102,56 @@ &example.outputs; <screen> <![CDATA[ -Use the PEAR Coding Standards +Fetching first result set +array(2) { + [0]=> + string(16) "Bubbles " + [1]=> + int(3) +} +array(2) { + [0]=> + string(16) "Gizmo " + [1]=> + int(4) +} + +Fetching second result set +array(4) { + [0]=> + string(16) "Sweater " + [1]=> + int(6) + [2]=> + string(5) "llama" + [3]=> + string(6) "150.00" +} +array(4) { + [0]=> + string(16) "Smarty " + [1]=> + int(2) + [2]=> + string(5) "horse" + [3]=> + string(6) "350.00" +} + +Fetching third result set +array(1) { + [0]=> + string(16) "Bubbles " +} +array(1) { + [0]=> + string(16) "Gizmo " +} ]]> </screen> </example> </para> </refsect1> - --> <!-- Use when adding See Also links http://cvs.php.net/diff.php/phpdoc/en/reference/ibm_db2/functions/db2-rollback.xml?r1=1.1&r2=1.2&ty=u Index: phpdoc/en/reference/ibm_db2/functions/db2-rollback.xml diff -u phpdoc/en/reference/ibm_db2/functions/db2-rollback.xml:1.1 phpdoc/en/reference/ibm_db2/functions/db2-rollback.xml:1.2 --- phpdoc/en/reference/ibm_db2/functions/db2-rollback.xml:1.1 Tue Apr 12 17:12:48 2005 +++ phpdoc/en/reference/ibm_db2/functions/db2-rollback.xml Wed Apr 20 02:16:13 2005 @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- $Revision: 1.1 $ --> +<!-- $Revision: 1.2 $ --> <!-- Generated by xml_proto.php v2.2. Found in /scripts directory of phpdoc. --> <refentry id="function.db2-rollback"> <refnamediv> @@ -15,7 +15,22 @@ <methodparam><type>resource</type><parameter>connection</parameter></methodparam> </methodsynopsis> - &warn.undocumented.func; + &warn.experimental.func; + <para> + Rolls back an in-progress transaction on the specified connection resource and + begins a new transaction. PHP applications normally default to AUTOCOMMIT + mode, so <function>db2_rollback</function> normally has no effect unless + AUTOCOMMIT has been turned off for the connection resource. + </para> + <note> + <para> + If the specified connection resource is a persistent connection, all + transactions in progress for all applications using that persistent + connection will be rolled back. For this reason, persistent connections + are not recommended for use in applications that require transactions. + </para> + </note> + </refsect1> <refsect1 role="parameters"> @@ -24,102 +39,89 @@ <variablelist> <varlistentry> <term><parameter>connection</parameter></term> - <listitem> - <para> - Its description - </para> - </listitem> - </varlistentry> + <listitem> + <para> + A valid database connection resource variable as returned from + <function>db2_connect</function> or <function>db2_pconnect</function>. + </para> + </listitem> + </varlistentry> </variablelist> </para> </refsect1> <refsect1 role="returnvalues"> &reftitle.returnvalues; <para> - What the function returns, first on success, then on failure. See - also the &return.success; entity - </para> - </refsect1> - - <!-- Use when EXCEPTIONS exist - <refsect1 role="exceptions"> - &reftitle.exceptions; - <para> - When does this function throw exceptions? + &return.success; </para> </refsect1> - --> - - <!-- Use when a CHANGELOG exists - <refsect1 role="changelog"> - &reftitle.changelog; - <para> - <informaltable> - <tgroup cols="2"> - <thead> - <row> - <entry>&Version;</entry> - <entry>&Description</entry> - </row> - </thead> - <tbody> - <row> - <entry>Enter the PHP version of change here - <entry>Description of change - </row> - </tbody> - </tgroup> - </informaltable> - </para> - </refsect1> - --> - - - <!-- Use when examples exist <refsect1 role="examples"> &reftitle.examples; <para> <example> - <title>A <function>db2_rollback</function> example</title> + <title>Rolling back a DELETE statement</title> <para> - Any text that describes the purpose of the example, or - what goes on in the example should go here (inside the - <example> tag, not out + In the following example, we count the number of rows in a table, turn + off AUTOCOMMIT mode on a database connection, delete all of the rows in + the table and return the count of <literal>0</literal> to prove that the + rows have been removed. We then issue <function>db2_rollback</function> + and return the updated count of rows in the table to show that the number + is the same as before we issued the DELETE statement. The return to the + original state of the table demonstrates that the roll back of the + transaction succeeded. </para> <programlisting role="php"> <![CDATA[ <?php -if ($anexample === true) { - echo 'Use the PEAR Coding Standards'; -} +$conn = db2_connect($database, $user, $password); + +if ($conn) { + $stmt = db2_exec($conn, "SELECT count(*) FROM animals"); + $res = db2_fetch_into( $stmt ); + echo $res[0] . "\n"; + + // Turn AUTOCOMMIT off + db2_autocommit($conn, DB2_AUTOCOMMIT_OFF); + + // Delete all rows from ANIMALS + db2_exec($conn, "DELETE FROM animals"); + + $stmt = db2_exec($conn, "SELECT count(*) FROM animals"); + $res = db2_fetch_into( $stmt ); + echo $res[0] . "\n"; + + // Roll back the DELETE statement + db2_rollback( $conn ); + + $stmt = db2_exec( $conn, "SELECT count(*) FROM animals" ); + $res = db2_fetch_into( $stmt ); + echo $res[0] . "\n"; + db2_close($conn); ?> ]]> </programlisting> &example.outputs; <screen> <![CDATA[ -Use the PEAR Coding Standards +7 +0 +7 ]]> </screen> </example> </para> </refsect1> - --> - - <!-- Use when adding See Also links <refsect1 role="seealso"> &reftitle.seealso; <para> <simplelist> - <member><function></function></member> - <member>Or <link linkend="somethingelse">something else</link></member> + <member><function>db2_autocommit</function></member> + <member><function>db2_commit</function></member> </simplelist> </para> </refsect1> - --> - </refentry>
http://cvs.php.net/diff.php/phpdoc/en/reference/ibm_db2/functions/db2-commit.xml?r1=1.1&r2=1.2&ty=u Index: phpdoc/en/reference/ibm_db2/functions/db2-commit.xml diff -u phpdoc/en/reference/ibm_db2/functions/db2-commit.xml:1.1 phpdoc/en/reference/ibm_db2/functions/db2-commit.xml:1.2 --- phpdoc/en/reference/ibm_db2/functions/db2-commit.xml:1.1 Tue Apr 12 17:12:48 2005 +++ phpdoc/en/reference/ibm_db2/functions/db2-commit.xml Wed Apr 20 02:16:12 2005 @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- $Revision: 1.1 $ --> +<!-- $Revision: 1.2 $ --> <!-- Generated by xml_proto.php v2.2. Found in /scripts directory of phpdoc. --> <refentry id="function.db2-commit"> <refnamediv> @@ -15,7 +15,22 @@ <methodparam><type>resource</type><parameter>connection</parameter></methodparam> </methodsynopsis> - &warn.undocumented.func; + &warn.experimental.func; + + <para> + Commits an in-progress transaction on the specified connection resource and + begins a new transaction. PHP applications normally default to AUTOCOMMIT + mode, so <function>db2_commit</function> is not necessary unless AUTOCOMMIT + has been turned off for the connection resource. + </para> + <note> + <para> + If the specified connection resource is a persistent connection, all + transactions in progress for all applications using that persistent + connection will be committed. For this reason, persistent connections are + not recommended for use in applications that require transactions. + </para> + </note> </refsect1> <refsect1 role="parameters"> @@ -24,58 +39,23 @@ <variablelist> <varlistentry> <term><parameter>connection</parameter></term> - <listitem> - <para> - Its description - </para> - </listitem> - </varlistentry> + <listitem> + <para> + A valid database connection resource variable as returned from + <function>db2_connect</function> or <function>db2_pconnect</function>. + </para> + </listitem> + </varlistentry> </variablelist> </para> </refsect1> <refsect1 role="returnvalues"> &reftitle.returnvalues; <para> - What the function returns, first on success, then on failure. See - also the &return.success; entity + &return.success; </para> </refsect1> - <!-- Use when EXCEPTIONS exist - <refsect1 role="exceptions"> - &reftitle.exceptions; - <para> - When does this function throw exceptions? - </para> - </refsect1> - --> - - - <!-- Use when a CHANGELOG exists - <refsect1 role="changelog"> - &reftitle.changelog; - <para> - <informaltable> - <tgroup cols="2"> - <thead> - <row> - <entry>&Version;</entry> - <entry>&Description</entry> - </row> - </thead> - <tbody> - <row> - <entry>Enter the PHP version of change here - <entry>Description of change - </row> - </tbody> - </tgroup> - </informaltable> - </para> - </refsect1> - --> - - <!-- Use when examples exist <refsect1 role="examples"> &reftitle.examples; @@ -107,19 +87,15 @@ </refsect1> --> - - <!-- Use when adding See Also links <refsect1 role="seealso"> &reftitle.seealso; <para> <simplelist> - <member><function></function></member> - <member>Or <link linkend="somethingelse">something else</link></member> + <member><function>db2_autocommit</function></member> + <member><function>db2_rollback</function></member> </simplelist> </para> </refsect1> - --> - </refentry> http://cvs.php.net/diff.php/phpdoc/en/reference/ibm_db2/functions/db2-next-result.xml?r1=1.1&r2=1.2&ty=u Index: phpdoc/en/reference/ibm_db2/functions/db2-next-result.xml diff -u phpdoc/en/reference/ibm_db2/functions/db2-next-result.xml:1.1 phpdoc/en/reference/ibm_db2/functions/db2-next-result.xml:1.2 --- phpdoc/en/reference/ibm_db2/functions/db2-next-result.xml:1.1 Tue Apr 12 17:12:48 2005 +++ phpdoc/en/reference/ibm_db2/functions/db2-next-result.xml Wed Apr 20 02:16:13 2005 @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- $Revision: 1.1 $ --> +<!-- $Revision: 1.2 $ --> <!-- Generated by xml_proto.php v2.2. Found in /scripts directory of phpdoc. --> <refentry id="function.db2-next-result"> <refnamediv> @@ -15,7 +15,16 @@ <methodparam><type>resource</type><parameter>stmt</parameter></methodparam> </methodsynopsis> - &warn.undocumented.func; + &warn.experimental.func; + + <para> + A stored procedure can return zero or more result sets. While you handle + the first result set in exactly the same way you would handle the results + returned by a simple SELECT statement, to fetch the second and subsequent + result sets from a stored procedure you must call the + <function>db2_next_result</function> function and return the result to a + uniquely named PHP variable. + </para> </refsect1> <refsect1 role="parameters"> @@ -24,74 +33,68 @@ <variablelist> <varlistentry> <term><parameter>stmt</parameter></term> - <listitem> - <para> - Its description - </para> - </listitem> - </varlistentry> + <listitem> + <para> + A prepared statement returned from <function>db2_exec</function> or + <function>db2_execute</function>. + </para> + </listitem> + </varlistentry> </variablelist> </para> </refsect1> <refsect1 role="returnvalues"> &reftitle.returnvalues; <para> - What the function returns, first on success, then on failure. See - also the &return.success; entity - </para> - </refsect1> - - <!-- Use when EXCEPTIONS exist - <refsect1 role="exceptions"> - &reftitle.exceptions; - <para> - When does this function throw exceptions? + Returns a new statement resource containing the next result set if the + stored procedure returned another result set. Returns &false; if the stored + procedure did not return another result set. </para> </refsect1> - --> - - - <!-- Use when a CHANGELOG exists - <refsect1 role="changelog"> - &reftitle.changelog; - <para> - <informaltable> - <tgroup cols="2"> - <thead> - <row> - <entry>&Version;</entry> - <entry>&Description</entry> - </row> - </thead> - <tbody> - <row> - <entry>Enter the PHP version of change here - <entry>Description of change - </row> - </tbody> - </tgroup> - </informaltable> - </para> - </refsect1> - --> - - <!-- Use when examples exist <refsect1 role="examples"> &reftitle.examples; <para> <example> - <title>A <function>db2_next_result</function> example</title> + <title>Calling a stored procedure that returns multiple result sets</title> <para> - Any text that describes the purpose of the example, or - what goes on in the example should go here (inside the - <example> tag, not out + In the following example, we call a stored procedure that returns three + result sets. The first result set is fetched directly from the same + statement resource on which we invoked the CALL statement, while the + second and third result sets are fetched from statement resources + returned from our calls to the <function>db2_next_result</function> + function. </para> <programlisting role="php"> <![CDATA[ <?php -if ($anexample === true) { - echo 'Use the PEAR Coding Standards'; +$conn = db2_connect($database, $user, $password); + +if ($conn) { + $stmt = db2_exec($conn, 'CALL multiResults()'); + + print "Fetching first result set\n"; + while ($row = db2_fetch_into($stmt)) { + var_dump($row); + } + + print "\nFetching second result set\n"; + $res = db2_next_result($stmt); + if ($res) { + while ($row = db2_fetch_into($res)) { + var_dump($row); + } + } + + print "\nFetching third result set\n"; + $res2 = db2_next_result($stmt); + if ($res2) { + while ($row = db2_fetch_into($res2)) { + var_dump($row); + } + } + + db2_close($conn); } ?> ]]> @@ -99,13 +102,56 @@ &example.outputs; <screen> <![CDATA[ -Use the PEAR Coding Standards +Fetching first result set +array(2) { + [0]=> + string(16) "Bubbles " + [1]=> + int(3) +} +array(2) { + [0]=> + string(16) "Gizmo " + [1]=> + int(4) +} + +Fetching second result set +array(4) { + [0]=> + string(16) "Sweater " + [1]=> + int(6) + [2]=> + string(5) "llama" + [3]=> + string(6) "150.00" +} +array(4) { + [0]=> + string(16) "Smarty " + [1]=> + int(2) + [2]=> + string(5) "horse" + [3]=> + string(6) "350.00" +} + +Fetching third result set +array(1) { + [0]=> + string(16) "Bubbles " +} +array(1) { + [0]=> + string(16) "Gizmo " +} ]]> </screen> </example> </para> </refsect1> - --> <!-- Use when adding See Also links http://cvs.php.net/diff.php/phpdoc/en/reference/ibm_db2/functions/db2-rollback.xml?r1=1.1&r2=1.2&ty=u Index: phpdoc/en/reference/ibm_db2/functions/db2-rollback.xml diff -u phpdoc/en/reference/ibm_db2/functions/db2-rollback.xml:1.1 phpdoc/en/reference/ibm_db2/functions/db2-rollback.xml:1.2 --- phpdoc/en/reference/ibm_db2/functions/db2-rollback.xml:1.1 Tue Apr 12 17:12:48 2005 +++ phpdoc/en/reference/ibm_db2/functions/db2-rollback.xml Wed Apr 20 02:16:13 2005 @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- $Revision: 1.1 $ --> +<!-- $Revision: 1.2 $ --> <!-- Generated by xml_proto.php v2.2. Found in /scripts directory of phpdoc. --> <refentry id="function.db2-rollback"> <refnamediv> @@ -15,7 +15,22 @@ <methodparam><type>resource</type><parameter>connection</parameter></methodparam> </methodsynopsis> - &warn.undocumented.func; + &warn.experimental.func; + <para> + Rolls back an in-progress transaction on the specified connection resource and + begins a new transaction. PHP applications normally default to AUTOCOMMIT + mode, so <function>db2_rollback</function> normally has no effect unless + AUTOCOMMIT has been turned off for the connection resource. + </para> + <note> + <para> + If the specified connection resource is a persistent connection, all + transactions in progress for all applications using that persistent + connection will be rolled back. For this reason, persistent connections + are not recommended for use in applications that require transactions. + </para> + </note> + </refsect1> <refsect1 role="parameters"> @@ -24,102 +39,89 @@ <variablelist> <varlistentry> <term><parameter>connection</parameter></term> - <listitem> - <para> - Its description - </para> - </listitem> - </varlistentry> + <listitem> + <para> + A valid database connection resource variable as returned from + <function>db2_connect</function> or <function>db2_pconnect</function>. + </para> + </listitem> + </varlistentry> </variablelist> </para> </refsect1> <refsect1 role="returnvalues"> &reftitle.returnvalues; <para> - What the function returns, first on success, then on failure. See - also the &return.success; entity - </para> - </refsect1> - - <!-- Use when EXCEPTIONS exist - <refsect1 role="exceptions"> - &reftitle.exceptions; - <para> - When does this function throw exceptions? + &return.success; </para> </refsect1> - --> - - <!-- Use when a CHANGELOG exists - <refsect1 role="changelog"> - &reftitle.changelog; - <para> - <informaltable> - <tgroup cols="2"> - <thead> - <row> - <entry>&Version;</entry> - <entry>&Description</entry> - </row> - </thead> - <tbody> - <row> - <entry>Enter the PHP version of change here - <entry>Description of change - </row> - </tbody> - </tgroup> - </informaltable> - </para> - </refsect1> - --> - - - <!-- Use when examples exist <refsect1 role="examples"> &reftitle.examples; <para> <example> - <title>A <function>db2_rollback</function> example</title> + <title>Rolling back a DELETE statement</title> <para> - Any text that describes the purpose of the example, or - what goes on in the example should go here (inside the - <example> tag, not out + In the following example, we count the number of rows in a table, turn + off AUTOCOMMIT mode on a database connection, delete all of the rows in + the table and return the count of <literal>0</literal> to prove that the + rows have been removed. We then issue <function>db2_rollback</function> + and return the updated count of rows in the table to show that the number + is the same as before we issued the DELETE statement. The return to the + original state of the table demonstrates that the roll back of the + transaction succeeded. </para> <programlisting role="php"> <![CDATA[ <?php -if ($anexample === true) { - echo 'Use the PEAR Coding Standards'; -} +$conn = db2_connect($database, $user, $password); + +if ($conn) { + $stmt = db2_exec($conn, "SELECT count(*) FROM animals"); + $res = db2_fetch_into( $stmt ); + echo $res[0] . "\n"; + + // Turn AUTOCOMMIT off + db2_autocommit($conn, DB2_AUTOCOMMIT_OFF); + + // Delete all rows from ANIMALS + db2_exec($conn, "DELETE FROM animals"); + + $stmt = db2_exec($conn, "SELECT count(*) FROM animals"); + $res = db2_fetch_into( $stmt ); + echo $res[0] . "\n"; + + // Roll back the DELETE statement + db2_rollback( $conn ); + + $stmt = db2_exec( $conn, "SELECT count(*) FROM animals" ); + $res = db2_fetch_into( $stmt ); + echo $res[0] . "\n"; + db2_close($conn); ?> ]]> </programlisting> &example.outputs; <screen> <![CDATA[ -Use the PEAR Coding Standards +7 +0 +7 ]]> </screen> </example> </para> </refsect1> - --> - - <!-- Use when adding See Also links <refsect1 role="seealso"> &reftitle.seealso; <para> <simplelist> - <member><function></function></member> - <member>Or <link linkend="somethingelse">something else</link></member> + <member><function>db2_autocommit</function></member> + <member><function>db2_commit</function></member> </simplelist> </para> </refsect1> - --> - </refentry>