Files
php-doc-ru/reference/ibm_db2/functions/db2-fetch-both.xml
2023-04-11 11:45:36 +03:00

165 lines
6.5 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 871b71764cdca8238069f27436d96011a6a2cb36 Maintainer: evvc Status: ready -->
<!-- Reviewed: no -->
<refentry xml:id="function.db2-fetch-both" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>db2_fetch_both</refname>
<refpurpose>Возвращает массив, индексированный как по имени столбца, так и по позиции, представляющий строку в наборе результатов</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type class="union"><type>array</type><type>false</type></type><methodname>db2_fetch_both</methodname>
<methodparam><type>resource</type><parameter>stmt</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>row_number</parameter><initializer>-1</initializer></methodparam>
</methodsynopsis>
<para>
Возвращает массив, индексированный как по имени столбца, так и по позиции, представляющий строку в наборе результатов.
Обратите внимание, что строка, возвращаемая <function>db2_fetch_both</function>, требует больше памяти,
чем массивы с одним индексом, возвращаемые <function>db2_fetch_assoc</function> или
<function>db2_fetch_array</function>.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>stmt</parameter></term>
<listitem>
<para>
Допустимый ресурс <literal>stmt</literal>, содержащий набор результатов.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>row_number</parameter></term>
<listitem>
<para>
Запрашивает конкретную строку по индексу (начинается с 1) из набора результатов.
Передача параметра приводит к предупреждению PHP, если в наборе результатов используется курсор "forward-only".
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Возвращает ассоциативный массив со значениями столбцов, проиндексированными как по имени столбца,
так и по индексу столбца (начиная с 0). Массив представляет следующую или запрошенную строку в наборе результатов.
Возвращает &false;, если в наборе результатов не осталось строк или если строка,
запрошенная <parameter>row_number</parameter>, не существует в наборе результатов.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Перебор курсором "forward-only"</title>
<para>
Если вы вызываете <function>db2_fetch_both</function> без определённого номера строки,
он автоматически получает следующую строку в наборе результатов.
В следующем примере доступ к столбцам в возвращаемом массиве осуществляется как по имени столбца,
так и по числовому индексу.
</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>Получение определённых строк с помощью <function>db2_fetch_both</function>
из прокручиваемого курсора</title>
<para>
Если в вашем наборе результатов используется прокручиваемый курсор,
вы можете вызвать <function>db2_fetch_both</function> с определённым номером строки.
В следующем примере извлекается каждая вторая строка в наборе результатов, начиная со второй строки.
</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:"~/.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
-->