(PHP 5, PHP 7, PHP 8)
mysqli_result::fetch_field -- mysqli_fetch_field — Retorna o próximo campo no conjunto de resultados
Estilo orientado a objetos
Estilo procedural
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.
result
Somente no estilo procedural: Um objeto mysqli_result retornado por mysqli_query(), mysqli_store_result(), mysqli_use_result() ou mysqli_stmt_get_result().
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.
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. |
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 Code LIMIT 5";
if ($result = $mysqli->query($query)) {
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();
}
$mysqli->close();
?>
Exemplo #2 Estilo procedural
<?php
$link = mysqli_connect("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 Code LIMIT 5";
if ($result = mysqli_query($link, $query)) {
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);
}
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