mysqli_result::fetch_field_direct

mysqli_fetch_field_direct

(PHP 5, PHP 7, PHP 8)

mysqli_result::fetch_field_direct -- mysqli_fetch_field_directRecebe metadados para um único campo

Descrição

Estilo orientado a objetos

publicmysqli_result::fetch_field_direct(int$index): object|false

Estilo procedural

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
PropriedadeDescrição
nameO nome da coluna
orgnameO nome original da coluna se foi especificado um apelido
tableO nome da tabela à qual o campo pertence (se não calculado)
orgtableNome da tabela original se foi especificado um apelido
defNão utilizado. Sempre uma string vazia
dbO nome do banco de dados
catalogNão utilizado. Sempre "def"
max_lengthA 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.
charsetnrO número do conjunto de caracteres do campo.
flagsUm inteiro representando bits de opções para o campo.
typeO tipo de dados usado para este campo
decimalsO 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");


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)) {


$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();
}


$mysqli->close();
?>

Exemplo #2 Estilo procedural

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


if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}

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

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


$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);
}


mysqli_close($link);
?>

Os exemplos acima produzirão:

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

Veja Também

To Top