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

# 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 estaba obsoleta en PHP 5.5.0, y fue eliminada en PHP 7.0.0. En su lugar, se puede utilizar la extensión MySQLi o la extensión PDO_MySQL. Ver también MySQL: elegir una API de la guía. Alternativas a esta función:

- mysqli_fetch_field()
- PDOStatement::getColumnMeta()

### Descripción

function 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`
  La resource de resultado que acaba de ser evaluada. Este resultado proviene de la llamada a la función 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 la case.

> 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

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open