1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174
|
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.6 $ -->
<!-- Generated by xml_proto.php v2.2. Found in /scripts directory of phpdoc. -->
<refentry id="function.db2-fetch-both">
<refnamediv>
<refname>db2_fetch_both</refname>
<refpurpose>
Returns an array, indexed by both column name and position, representing a row in a result set
</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>array</type><methodname>db2_fetch_both</methodname>
<methodparam><type>resource</type><parameter>stmt</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>row_number</parameter></methodparam>
</methodsynopsis>
<para>
Returns an array, indexed by both column name and position, representing a
row in a result set. Note that the row returned by
<function>db2_fetch_both</function> requires more memory than the
single-indexed arrays returned by <function>db2_fetch_assoc</function> or
<function>db2_fetch_array</function>.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>stmt</parameter></term>
<listitem>
<para>
A valid <literal>stmt</literal> resource containing a result set.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>row_number</parameter></term>
<listitem>
<para>
Requests a specific 1-indexed row from the result set. Passing this
parameter results in a PHP warning if the result set uses a
forward-only cursor.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Returns an associative array with column values indexed by both the column
name and 0-indexed column number. The array represents the next or
requested row in the result set. Returns &false; if there are no rows left
in the result set, or if the row requested by
<parameter>row_number</parameter> does not exist in the result set.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Iterating through a forward-only cursor</title>
<para>
If you call <function>db2_fetch_both</function> without a specific row
number, it automatically retrieves the next row in the result set. The
following example accesses columns in the returned array by both column
name and by numeric index.
</para>
<programlisting role="php">
<![CDATA[
<?php
$sql = "SELECT id, name, breed, weight FROM animals ORDER BY breed";
$stmt = db2_prepare($conn, $sql);
$result = db2_execute($stmt);
while ($row = db2_fetch_both($stmt)) {
printf ("%-5d %-16s %-32s %10s\n",
$row['ID'], $row[0], $row['BREED'], $row[3]);
}
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
0 Pook cat 3.20
5 Rickety Ride goat 9.70
2 Smarty horse 350.00
]]>
</screen>
</example>
<example>
<title>Retrieving specific rows with <function>db2_fetch_both</function>
from a scrollable cursor</title>
<para>
If your result set uses a scrollable cursor, you can call
<function>db2_fetch_both</function> with a specific row number. The
following example retrieves every other row in the result set, starting
with the second row.
</para>
<programlisting role="php">
<![CDATA[
<?php
$sql = "SELECT id, name, breed, weight FROM animals ORDER BY breed";
$result = db2_exec($stmt, $sql, array('cursor' => DB2_SCROLLABLE));
$i=2;
while ($row = db2_fetch_both($result, $i)) {
printf ("%-5d %-16s %-32s %10s\n",
$row[0], $row['NAME'], $row[2], $row['WEIGHT']);
$i = $i + 2;
}
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
0 Pook cat 3.20
5 Rickety Ride goat 9.70
2 Smarty horse 350.00
]]>
</screen>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>db2_fetch_array</function></member>
<member><function>db2_fetch_assoc</function></member>
<member><function>db2_fetch_object</function></member>
<member><function>db2_fetch_row</function></member>
<member><function>db2_result</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:"../../../../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
-->
|