# mysql_fetch_field

(PHP 4, PHP 5)

mysql_fetch_field — Obtiene la información de una columna de un resultado y la devuelve como un objeto

Advertencia

Esta extensión fue declarada obsoleta en PHP 5.5.0 y eliminada en PHP 7.0.0. En su lugar debería utilzarse las extensiones MySQLi o PDO_MySQL. Véase también la guía MySQL: elegir una API. Las alternativas a esta función son:

- mysqli_fetch_field()
- PDOStatement::getColumnMeta()

### Descripción

mysql_fetch_field(resource `$result`, int `$field_offset` = 0): object

Devuelve un objeto que contiene la información de los campos. Esta función puede ser usada para obtener información sobre campos en el resultado de la consulta proporcionada.

### Parámetros

`result`

  El resultado resource que está siendo evaluado. Este resultado proviene de una llamada a mysql_query().

`field_offset`

  El índice numérico del campo. Si el índice del campo no se especifica, se recuperará el siguiente campo que aún no haya recuperado esta función. Los índices de `field_offset` comienzan en `0`.

### Valores devueltos

Devuelve un object que contiene la información del campo. Las propiedades del objeto son:

- name - nombre de la columna
- table - nombre de la tabla a la que pertenece la columna, el cual es el sobrenombre si alguno está definido
- max_length - longitud máxima de la columna
- not_null - 1 si la columna no puede ser `null`
- primary_key - 1 si la columna es una clave primaria
- unique_key - 1 si la columna es una clave única
- multiple_key - 1 si la colmuna es una clave no única
- numeric - 1 si la columna es numérica
- blob - 1 si la columna es un BLOB
- type - el tipo de la columna
- unsigned - 1 si la columna es sin signo
- zerofill - 1 si la columna es rellena de ceros

### Ejemplos

Ejemplo #1 Ejemplo de mysql_fetch_field()

`<?php
$conexión = mysql_connect('localhost', 'usuario_mysql', 'contraseña_mysql');
if (!$conexión) {
die('No se pudo conectar: ' . mysql_error());
}
mysql_select_db('basedatos');
$resultado = mysql_query('select * from table');
if (!$resultado) {
die('Falló la consulta: ' . mysql_error());
}
/* obtener los metadatos de la columna */
$i = 0;
while ($i < mysql_num_fields($resultado)) {
echo "Información de la columna $i:<br />\n";
$metadatos = mysql_fetch_field($resultado, $i);
if (!$metadatos) {
echo "No hay información disponible<br />\n";
}
echo "<pre>
blob: $metadatos->blob
max_length: $metadatos->max_length
multiple_key: $metadatos->multiple_key
name: $metadatos->name
not_null: $metadatos->not_null
numeric: $metadatos->numeric
primary_key: $metadatos->primary_key
table: $metadatos->table
type: $metadatos->type
unique_key: $metadatos->unique_key
unsigned: $metadatos->unsigned
zerofill: $metadatos->zerofill
</pre>";
$i++;
}
mysql_free_result($resultado);
?>`

### Notas

> Nota: Los nombres de los campos devueltos por esta función son sensibles a mayúsculas y minúsculas.

> Nota:

> Si se usa un alias para los campos o los nombres de tablas en la consulta SQL se devolverá el nombre del alias. El nombre original se puede recuperar, por ejemplo, usando mysqli_result::fetch_field().

### Ver también

- mysql_field_seek() - Establece el puntero del resultado en un índice de campo específicado