Retorna o próximo campo no conjunto de resultados

# mysqli_result::fetch_field

# mysqli_fetch_field

(PHP 5, PHP 7, PHP 8)

mysqli_result::fetch_field -- mysqli_fetch_field — Retorna o próximo campo no conjunto de resultados

### Descrição

Estilo orientado a objetos

public function mysqli_result::fetch_field(): object|false

Estilo procedural

function mysqli_fetch_field(mysqli_result `$result`): object|false

Retorna a definição de uma coluna de um conjunto de resultados como um objeto. Utilize esta função repetidamente para obter informação sobre todas as colunas no conjunto de resultados.

### Parâmetros

`result`
  Somente no estilo procedural: Um objeto mysqli_result retornado por mysqli_query(), mysqli_store_result(), mysqli_use_result() ou mysqli_stmt_get_result().

### Valor Retornado

Retorna um objeto que contém informações sobre a definição do campo ou `false` se nenhuma informação de campos estiver disponível.

Propriedades dos objetos
Propriedade | Descrição
--- | ---
name | O nome da coluna
orgname | O nome original da coluna se foi especificado um apelido
table | O nome da tabela à qual o campo pertence (se não calculado)
orgtable | Nome da tabela original se foi especificado um apelido
def | Não utilizado. Sempre uma string vazia
db | O nome do banco de dados
catalog | Não utilizado. Sempre `"def"`
max_length | A largura máxima do campo para o conjunto de resultados. A partir do PHP 8.1, este valor é sempre `0`.
length | O comprimento do campo em bytes. Para colunas de strings, o valor do comprimento varia conforme o conjunto de caracteres. Por exemplo, se o conjunto de caracteres for `latin1`, um conjunto de um byte, o valor de comprimento para uma consulta `SELECT 'abc'` será 3. Se o conjunto for `utf8mb4`, um conjunto multi-bytes onde os caracteres podem ter até 4 bytes, o valor de comprimento será 12.
charsetnr | O número do conjunto de caracteres do campo.
flags | Um inteiro representando bits de opções para o campo.
type | O tipo de dados usado para este campo
decimals | O número de decimais para campos numéricos, e a precisão em segundos fracionários para campos temporais.

### Exemplos

Exemplo #1 Estilo orientado a objetos

    <?php
    $mysqli = new mysqli("localhost", "my_user", "my_password", "world");

    /* verifica a conexão */
    if (mysqli_connect_errno()) {
        printf("Conexão falhou: %s\n", mysqli_connect_error());
        exit();
    }

    $query = "SELECT Name, SurfaceArea from Country ORDER BY Code LIMIT 5";

    if ($result = $mysqli->query($query)) {

        /* Obtém informação do campo para todos os campos */
        while ($finfo = $result->fetch_field()) {

            printf("Name:     %s\n", $finfo->name);
            printf("Table:    %s\n", $finfo->table);
            printf("max. Len: %d\n", $finfo->max_length);
            printf("Flags:    %d\n", $finfo->flags);
            printf("Type:     %d\n\n", $finfo->type);
        }
        $result->close();
    }

    /* fecha a conexão */
    $mysqli->close();
    ?>

Exemplo #2 Estilo procedural

    <?php
    $link = mysqli_connect("localhost", "my_user", "my_password", "world");

    /* verifica a conexão */
    if (mysqli_connect_errno()) {
        printf("Conexão falhou: %s\n", mysqli_connect_error());
        exit();
    }

    $query = "SELECT Name, SurfaceArea from Country ORDER BY Code LIMIT 5";

    if ($result = mysqli_query($link, $query)) {

        /* Obtém informação do campo para todos os campos */
        while ($finfo = mysqli_fetch_field($result)) {

            printf("Name:     %s\n", $finfo->name);
            printf("Table:    %s\n", $finfo->table);
            printf("max. Len: %d\n", $finfo->max_length);
            printf("Flags:    %d\n", $finfo->flags);
            printf("Type:     %d\n\n", $finfo->type);
        }
        mysqli_free_result($result);
    }

    /* fecha a conexão */
    mysqli_close($link);
    ?>

Os exemplos acima produzirão:

    Name:     Name
    Table:    Country
    max. Len: 11
    Flags:    1
    Type:     254

    Name:     SurfaceArea
    Table:    Country
    max. Len: 10
    Flags:    32769
    Type:     4

### Veja Também

- mysqli_num_fields() - Obtém o número de campos no conjunto de resultados
- mysqli_fetch_field_direct() - Recebe metadados para um único campo
- mysqli_fetch_fields() - Retorna um array de objetos representando os campos em um conjunto de resultados
- mysqli_field_seek() - Move o ponteiro do resultado para um campo especificado

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