mirror of
https://github.com/php/doc-ru.git
synced 2025-08-20 23:31:15 +00:00
293 lines
9.0 KiB
XML
293 lines
9.0 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
||
<!-- EN-Revision: 5152c78db935ea2463e20a01ae0e3f3573314d78 Maintainer: tmn Status: ready -->
|
||
<!-- Reviewed: no -->
|
||
<refentry xml:id="mysqli-result.fetch-fields" xmlns="http://docbook.org/ns/docbook">
|
||
<refnamediv>
|
||
<refname>mysqli_result::fetch_fields</refname>
|
||
<refname>mysqli_fetch_fields</refname>
|
||
<refpurpose>Возвращает массив объектов, которые представляют поля результирующего набора</refpurpose>
|
||
</refnamediv>
|
||
|
||
<refsect1 role="description">
|
||
&reftitle.description;
|
||
<para>&style.oop;</para>
|
||
<methodsynopsis role="mysqli_result">
|
||
<modifier>public</modifier> <type>array</type><methodname>mysqli_result::fetch_fields</methodname>
|
||
<void/>
|
||
</methodsynopsis>
|
||
<para>&style.procedural;</para>
|
||
<methodsynopsis>
|
||
<type>array</type><methodname>mysqli_fetch_fields</methodname>
|
||
<methodparam><type>mysqli_result</type><parameter>result</parameter></methodparam>
|
||
</methodsynopsis>
|
||
|
||
<para>
|
||
Метод служит той же цели, что и функция <function>mysqli_fetch_field</function>,
|
||
с той только разницей, что вместо возврата по одному объекту для каждого поля
|
||
возвращает столбцы как массив объектов.
|
||
</para>
|
||
</refsect1>
|
||
|
||
<refsect1 role="parameters">
|
||
&reftitle.parameters;
|
||
<para>
|
||
<variablelist>
|
||
&mysqli.result.description;
|
||
</variablelist>
|
||
</para>
|
||
</refsect1>
|
||
|
||
<refsect1 role="returnvalues">
|
||
&reftitle.returnvalues;
|
||
<para>
|
||
Метод возвращает массив объектов, которые содержат информацию об определении полей.
|
||
</para>
|
||
|
||
<table>
|
||
<title>Свойства объекта</title>
|
||
<tgroup cols="2">
|
||
<thead>
|
||
<row>
|
||
<entry>Свойство</entry>
|
||
<entry>Описание</entry>
|
||
</row>
|
||
</thead>
|
||
<tbody>
|
||
<row>
|
||
<entry>name</entry>
|
||
<entry>Имя столбца</entry>
|
||
</row>
|
||
<row>
|
||
<entry>orgname</entry>
|
||
<entry>Исходное имя столбца, если указали псевдоним</entry>
|
||
</row>
|
||
<row>
|
||
<entry>table</entry>
|
||
<entry>Имя таблицы, которой принадлежит столбец (если не вычислено)</entry>
|
||
</row>
|
||
<row>
|
||
<entry>orgtable</entry>
|
||
<entry>Исходное имя таблицы, если указали псевдоним</entry>
|
||
</row>
|
||
<row>
|
||
<entry>def</entry>
|
||
<entry>Неиспользуемый. Всегда пустая строка</entry>
|
||
</row>
|
||
<row>
|
||
<entry>db</entry>
|
||
<entry>Имя базы данных</entry>
|
||
</row>
|
||
<row>
|
||
<entry>catalog</entry>
|
||
<entry>Неиспользуемый. Всегда <literal>«def»</literal></entry>
|
||
</row>
|
||
<row>
|
||
<entry>max_length</entry>
|
||
<entry>
|
||
Максимальная ширина поля результирующего набора. Начиная с PHP 8.1 это значение всегда равно <literal>0</literal>
|
||
</entry>
|
||
</row>
|
||
<row>
|
||
<entry>length</entry>
|
||
<entry>
|
||
Ширина поля в байтах. Для строковых столбцов
|
||
значение длины зависит от кодировки соединения. Например,
|
||
если кодировка — <literal>latin1</literal>, однобайтовый набор символов,
|
||
значение длины для запроса <literal>SELECT 'abc'</literal> равно 3.
|
||
Если кодировка — <literal>utf8mb4</literal>, многобайтовый набор
|
||
символов, в котором символы занимают до 4 байтов, значение длины равно 12
|
||
</entry>
|
||
</row>
|
||
<row>
|
||
<entry>charsetnr</entry>
|
||
<entry>Номер кодировки для поля</entry>
|
||
</row>
|
||
<row>
|
||
<entry>flags</entry>
|
||
<entry>Целое число, которое представляет битовые флаги для поля</entry>
|
||
</row>
|
||
<row>
|
||
<entry>type</entry>
|
||
<entry>Тип данных поля</entry>
|
||
</row>
|
||
<row>
|
||
<entry>decimals</entry>
|
||
<entry>Количество десятичных знаков для числовых полей и точность долей секунды для временных полей</entry>
|
||
</row>
|
||
</tbody>
|
||
</tgroup>
|
||
</table>
|
||
</refsect1>
|
||
|
||
<refsect1 role="examples">
|
||
&reftitle.examples;
|
||
<example>
|
||
<title>&style.oop;</title>
|
||
<programlisting role="php">
|
||
<![CDATA[
|
||
<?php
|
||
|
||
$mysqli = new mysqli("127.0.0.1", "root", "foofoo", "sakila");
|
||
|
||
/* Проверяем соединение */
|
||
if ($mysqli->connect_errno) {
|
||
printf("Не удалось подключиться: %s\n", $mysqli->connect_error);
|
||
exit();
|
||
}
|
||
|
||
foreach (array('latin1', 'utf8') as $charset) {
|
||
// Устанавливаем кодировку, чтобы показать влияние набора символов на некоторые значения (например, длину в байтах)
|
||
$mysqli->set_charset($charset);
|
||
|
||
$query = "SELECT actor_id, last_name from actor ORDER BY actor_id";
|
||
|
||
echo "======================\n";
|
||
echo "Character Set: $charset\n";
|
||
echo "======================\n";
|
||
|
||
if ($result = $mysqli->query($query)) {
|
||
|
||
/* Читаем информацию о полях для каждого столбца */
|
||
$finfo = $result->fetch_fields();
|
||
|
||
foreach ($finfo as $val) {
|
||
printf("Name: %s\n", $val->name);
|
||
printf("Table: %s\n", $val->table);
|
||
printf("Max. Len: %d\n", $val->max_length);
|
||
printf("Length: %d\n", $val->length);
|
||
printf("charsetnr: %d\n", $val->charsetnr);
|
||
printf("Flags: %d\n", $val->flags);
|
||
printf("Type: %d\n\n", $val->type);
|
||
}
|
||
$result->free();
|
||
}
|
||
}
|
||
$mysqli->close();
|
||
|
||
?>
|
||
]]>
|
||
</programlisting>
|
||
</example>
|
||
<example>
|
||
<title>&style.procedural;</title>
|
||
<programlisting role="php">
|
||
<![CDATA[
|
||
<?php
|
||
|
||
$link = mysqli_connect("127.0.0.1", "my_user", "my_password", "sakila");
|
||
|
||
/* Проверяем соединение */
|
||
if (mysqli_connect_errno()) {
|
||
printf("Не удалось подключиться: %s\n", mysqli_connect_error());
|
||
exit();
|
||
}
|
||
|
||
foreach (array('latin1', 'utf8') as $charset) {
|
||
// Устанавливаем кодировку, чтобы показать влияние набора символов на некоторые значения (например, длину в байтах)
|
||
mysqli_set_charset($link, $charset);
|
||
|
||
$query = "SELECT actor_id, last_name from actor ORDER BY actor_id";
|
||
|
||
echo "======================\n";
|
||
echo "Character Set: $charset\n";
|
||
echo "======================\n";
|
||
|
||
if ($result = mysqli_query($link, $query)) {
|
||
/* Читаем информацию о полях для каждого столбца */
|
||
$finfo = mysqli_fetch_fields($result);
|
||
|
||
foreach ($finfo as $val) {
|
||
printf("Name: %s\n", $val->name);
|
||
printf("Table: %s\n", $val->table);
|
||
printf("Max. Len: %d\n", $val->max_length);
|
||
printf("Length: %d\n", $val->length);
|
||
printf("charsetnr: %d\n", $val->charsetnr);
|
||
printf("Flags: %d\n", $val->flags);
|
||
printf("Type: %d\n\n", $val->type);
|
||
}
|
||
mysqli_free_result($result);
|
||
}
|
||
}
|
||
|
||
mysqli_close($link);
|
||
|
||
?>
|
||
]]>
|
||
</programlisting>
|
||
&examples.outputs;
|
||
<screen>
|
||
<![CDATA[
|
||
======================
|
||
Character Set: latin1
|
||
======================
|
||
Name: actor_id
|
||
Table: actor
|
||
Max. Len: 3
|
||
Length: 5
|
||
charsetnr: 63
|
||
Flags: 49699
|
||
Type: 2
|
||
|
||
Name: last_name
|
||
Table: actor
|
||
Max. Len: 12
|
||
Length: 45
|
||
charsetnr: 8
|
||
Flags: 20489
|
||
Type: 253
|
||
|
||
======================
|
||
Character Set: utf8
|
||
======================
|
||
Name: actor_id
|
||
Table: actor
|
||
Max. Len: 3
|
||
Length: 5
|
||
charsetnr: 63
|
||
Flags: 49699
|
||
Type: 2
|
||
|
||
Name: last_name
|
||
Table: actor
|
||
Max. Len: 12
|
||
Length: 135
|
||
charsetnr: 33
|
||
Flags: 20489
|
||
]]>
|
||
</screen>
|
||
</example>
|
||
</refsect1>
|
||
|
||
<refsect1 role="seealso">
|
||
&reftitle.seealso;
|
||
<para>
|
||
<simplelist>
|
||
<member><function>mysqli_num_fields</function></member>
|
||
<member><function>mysqli_fetch_field_direct</function></member>
|
||
<member><function>mysqli_fetch_field</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
|
||
-->
|