Recebe metadados para um único campo

# mysqli_result::fetch_field_direct

# mysqli_fetch_field_direct

(PHP 5, PHP 7, PHP 8)

mysqli_result::fetch_field_direct -- mysqli_fetch_field_direct — Recebe metadados para um único campo

### Descrição

Estilo orientado a objetos

public function mysqli_result::fetch_field_direct(int `$index`): object|false

Estilo procedural

function mysqli_fetch_field_direct(mysqli_result `$result`, int `$index`): object|false

Retorna um objeto que contém informação de definição de campo a partir do conjunto de resultados especificado.

### 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().
`index`

  O número do campo. Este valor deve estar na faixa de `0` a `número de campos - 1`.

### Valor Retornado

Retorna um objeto que contém informação de definição de campo ou `false` se nenhuma informação de campo para o valor especificado em `index` 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 Name LIMIT 5";

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

        /* Obtém informação de campo para a coluna 'SurfaceArea' */
        $finfo = $result->fetch_field_direct(1);

        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", $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 Name LIMIT 5";

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

        /* Obtém informação de campo para a coluna 'SurfaceArea' */
        $finfo = mysqli_fetch_field_direct($result, 1);

        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", $finfo->type);

        mysqli_free_result($result);
    }

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

Os exemplos acima produzirão:

    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() - Retorna o próximo campo no conjunto de resultados
- mysqli_fetch_fields() - Retorna um array de objetos representando os campos em um conjunto de resultados

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