Função mysql_fetch_field() do PHP

Definição e uso

A função mysql_fetch_field() obtém informações sobre a coluna do conjunto de resultados e retorna-as como um objeto.

mysql_fetch_field() pode ser usado para obter informações sobre os campos do resultado da consulta. Se não for especificado o deslocamento do campo, será extraído o próximo campo que ainda não foi obtido com mysql_fetch_field().

A função retorna um objeto que contém informações sobre os campos.

As propriedades do objeto retornado são:

  • name - nome da coluna
  • table - nome da tabela onde a coluna está
  • max_length - comprimento máximo da coluna
  • not_null - 1, se a coluna não pode ser NULL
  • primary_key - 1, se a coluna é chave primária
  • unique_key - 1, se a coluna é chave única
  • multiple_key - 1, se a coluna é chave não única
  • numeric - 1, se a coluna é numérica
  • blob - 1,如果该列是 BLOB
  • blob - 1, se a coluna é BLOB
  • type - o tipo da coluna
  • unsigned - 1, se a coluna é unsigned

zerofill - 1, se a coluna é zero-filled

Sintaxedatamysql_fetch_field(field_offset)
, Descrição
data Obrigatório. O ponteiro de dados a ser usado. Esse ponteiro é retornado pelo mysql_query().
field_offset Obrigatório. Especifica a partir de qual campo começar. 0 indica o primeiro campo. Se não for configurado, o próximo campo será retornado.

Dicas e Comentários

Comentário:O nome do campo retornado por essa função é sensível a maiúsculas e minúsculas.

Exemplo

<?php
$con = mysql_connect("localhost", "hello", "321");
if (!$con)
  {
  die('Não foi possível conectar: ' . mysql_error());
  }
$db_selected = mysql_select_db("test_db",$con);
$sql = "SELECT * from Person";
$result = mysql_query($sql,$con);
while ($property = mysql_fetch_field($result))
  {
  echo "Nome do Campo: " . $property->name . "<br />";
  echo "Nome da Tabela: " . $property->table . "<br />";
  echo "Valor Padrão: " . $property->def . "<br />";
  echo "Tamanho Máximo: " . $property->max_length . "<br />";
  echo "Não Nulo: " . $property->not_null . "<br />"; 
  echo "Chave Primária: " . $property->primary_key . "<br />";
  echo "Chave Única: " . $property->unique_key . "<br />"; 
  echo "Chave Múltipla: " . $property->multiple_key . "<br />";
  echo "Campo Numérico: " . $property->numeric . "<br />";
  echo "BLOB: " . $property->blob . "<br />";
  echo "Tipo de Campo: " . $property->type . "<br />";
  echo "Unsigned: " . $property->unsigned . "<br />";
  echo "Zero-filled: " . $property->zerofill . "<br /><br />"; 
  }
mysql_close($con);
?>

Saída:

Nome do Campo: Sobrenome
Nome da Tabela: Person
Valor Padrão: 
Tamanho Máximo: 8
Não NULL: 0
Chave Primária: 0
Chave Única: 0
Chave Múltipla: 0
Campo Numérico: 0
BLOB: 0
Tipo de Campo: string
Unsigned: 0
Zero-filled: 0
Nome do Campo: Primeiro Nome
Nome da Tabela: Person
Valor Padrão: 
Tamanho Máximo: 7
Não NULL: 0
Chave Primária: 0
Chave Única: 0
Chave Múltipla: 0
Campo Numérico: 0
BLOB: 0
Tipo de Campo: string
Unsigned: 0
Zero-filled: 0
Nome do Campo: Cidade
Nome da Tabela: Person
Valor Padrão: 
Tamanho Máximo: 9
Não NULL: 0
Chave Primária: 0
Chave Única: 0
Chave Múltipla: 0
Campo Numérico: 0
BLOB: 0
Tipo de Campo: string
Unsigned: 0
Zero-filled: 0
Nome do Campo: Idade
Nome da Tabela: Person
Valor Padrão: 
Tamanho Máximo: 2
Não NULL: 0
Chave Primária: 0
Chave Única: 0
Chave Múltipla: 0
Campo Numérico: 1
BLOB: 0
Tipo de Campo: int
Unsigned: 0
Zero-filled: 0