(PHP 5, PHP 7, PHP 8)
mysqli_result::fetch_field_direct -- mysqli_fetch_field_direct — Recebe metadados para um único campo
Estilo orientado a objetos
Estilo procedural
Retorna um objeto que contém informação de definição de campo a partir do conjunto de resultados especificado.
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
.
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.
Atributo | Descrição |
---|---|
name | O nome da coluna. |
orgname | Nome original da coluna se um apelido foi especificado. |
table | O nome da tabela à qual este campo pertence (se não calculado). |
orgtable | Nome original da tabela se um apelido foi especificado. |
def | O valor padrão para este campo, representado como uma string. |
max_length | A largura máxima do campo no resultado. A partir do PHP 8.1, este valor é sempre 0 . |
length | A largura do campo, como especificada na definição da tabela. |
charsetnr | O número do conjunto de caracteres para o campo. |
flags | Um inteiro representando os bits de opções para o campo. |
type | O tipo de dados usado para este campo. |
decimals | O número de decimais usadas (para campos numéricos) |
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("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)) {
/* 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