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
Estilo procedural
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
anú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.
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
Example #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();
?>
Example #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
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