mysql_fetch_field
(PHP 4, PHP 5)
mysql_fetch_field — Возвращает информацию о колонке из результата запроса в виде объекта
Данное расширение устарело, начиная с версии PHP 5.5.0, и удалено в PHP 7.0.0. Используйте вместо него MySQLi или PDO_MySQL. Смотрите также инструкцию MySQL: выбор API и соответствующий FAQ для получения более подробной информации. Альтернативы для данной функции:
Описание
$result
, int $field_offset
= 0
) : objectВозвращает объект, содержащий информацию о колонке. Эту функцию можно использовать для получения информации о полях в переданном результате запроса.
Список параметров
-
result
-
Обрабатываемый результат запроса. Этот результат может быть получен с помощью функции mysql_query().
-
field_offset
-
Числовое смещение поля. Если смещение не указано, функция возвращает информацию о первой колонке, которая ещё не была обработана этой функцией. Нумерация
field_offset
начинается с0
.
Возвращаемые значения
Возвращает object, содержащий информацию о колонке. Объект содержит следующие свойства:
- name - название колонки
- table - название таблицы, которой принадлежит колонка, или псевдоним таблицы, если он был определен
- max_length - максимальная длина колонки
-
not_null - 1, если колонка не может быть
null
- primary_key - 1, если колонка является первичным индексом
- unique_key - 1, если колонка является уникальным индексом
- multiple_key - 1, если колонка является неуникальным индексом
- numeric - 1, если колонка численная
- blob - 1, если колонка является BLOB
- type - тип колонки
- unsigned - 1, если колонка не содержит знака (unsigned)
- zerofill - 1, если колонка заполняется нулями (zero-filled)
Примеры
Пример #1 Пример использования mysql_fetch_field()
<?php
$conn = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$conn) {
die('Ошибка при соединении: ' . mysql_error());
}
mysql_select_db('database');
$result = mysql_query('select * from table');
if (!$result) {
die('Ошибка в запросе: ' . mysql_error());
}
/* получаем данные о колонке */
$i = 0;
while ($i < mysql_num_fields($result)) {
echo "Информация о колонке $i:<br />\n";
$meta = mysql_fetch_field($result, $i);
if (!$meta) {
echo "Информация недоступна<br />\n";
}
echo "<pre>
blob: $meta->blob
max_length: $meta->max_length
multiple_key: $meta->multiple_key
name: $meta->name
not_null: $meta->not_null
numeric: $meta->numeric
primary_key: $meta->primary_key
table: $meta->table
type: $meta->type
unique_key: $meta->unique_key
unsigned: $meta->unsigned
zerofill: $meta->zerofill
</pre>";
$i++;
}
mysql_free_result($result);
?>
Примечания
Замечание: Имена полей, возвращаемые этой функцией являются регистро-зависимыми.
Замечание:
Если поля или таблицы имеют дополнительные имена в запросе SQL, то будет возвращены эти дополнительные имена. Исходное имя может быть получено, например, с помощью mysqli_result::fetch_field().
Смотрите также
- mysql_field_seek() - Устанавливает внутренний указатель результата на переданное смещение поля