Funkcja mysql_fetch_field() w PHP

Definicja i użycie

Funkcja mysql_fetch_field() pobiera informacje o kolumnie z wyników i zwraca je jako obiekt.

mysql_fetch_field() można użyć do uzyskania informacji o polach z wyników zapytania. Jeśli nie podano offsetu pola, pobiera następne pole, które jeszcze nie zostało pobrane za pomocą mysql_fetch_field().

Funkcja ta zwraca obiekt zawierający informacje o polach.

Atrybuty zwracanego obiektu to:

  • name - nazwa kolumny
  • table - nazwa tabeli, w której znajduje się kolumna
  • max_length - maksymalna długość kolumny
  • not_null - 1, jeśli kolumna nie może być NULL
  • primary_key - 1, jeśli kolumna jest kluczem głównym
  • unique_key - 1, jeśli kolumna jest kluczem unikalnym
  • multiple_key - 1, jeśli kolumna jest kluczem nieunikalnym
  • numeric - 1, jeśli kolumna jest liczbowa
  • blob - 1,如果该列是 BLOB
  • blob - 1, jeśli kolumna jest BLOB
  • type - typ kolumny
  • unsigned - 1, jeśli kolumna jest bezwymiarowa

zerofill - 1, jeśli kolumna jest zero-filled

Gramatykadatamysql_fetch_field(field_offset)
, Opis
data Wymagane. Wskazuje na używany wskaźnik danych. Wskaźnik ten pochodzi z mysql_query().
field_offset Wymagane. Określa, od którego pola zacząć. 0 wskazuje na pierwsze pole. Jeśli nie jest ustawione, zwracane jest następne pole.

Wskazówki i komentarze

Komentarz:Nazwa pola zwracanego przez tą funkcję jest wrażliwa na wielkość liter.

Przykład

<?php
$con = mysql_connect("localhost", "hello", "321");
if (!$con)
  {
  die('Nie można połączyć: ' . 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 "Nazwa pola: " . $property->name . "<br />";
  echo "Nazwa tabeli: " . $property->table . "<br />";
  echo "Domyślna wartość: " . $property->def . "<br />";
  echo "Maksymalna długość: " . $property->max_length . "<br />";
  echo "Nie NULL: " . $property->not_null . "<br />"; 
  echo "Główny klucz: " . $property->primary_key . "<br />";
  echo "Unikalny klucz: " . $property->unique_key . "<br />"; 
  echo "Wieloklucz: " . $property->multiple_key . "<br />";
  echo "Pole liczbowe: " . $property->numeric . "<br />";
  echo "BLOB: " . $property->blob . "<br />";
  echo "Typ pola: " . $property->type . "<br />";
  echo "Unsigned: " . $property->unsigned . "<br />";
  echo "Zero-filled: " . $property->zerofill . "<br /><br />"; 
  }
mysql_close($con);
?>

Wynik:

Nazwa pola: LastName
Nazwa tabeli: Person
Domyślna wartość: 
Maksymalna długość: 8
Nie NULL: 0
Główny klucz: 0
Unikalny klucz: 0
Wielokrotne klucz: 0
Pole liczbowe: 0
BLOB: 0
Typ pola: string
Unsigned: 0
Zero-filled: 0
Nazwa pola: FirstName
Nazwa tabeli: Person
Domyślna wartość: 
Maksymalna długość: 7
Nie NULL: 0
Główny klucz: 0
Unikalny klucz: 0
Wielokrotne klucz: 0
Pole liczbowe: 0
BLOB: 0
Typ pola: string
Unsigned: 0
Zero-filled: 0
Nazwa pola: City
Nazwa tabeli: Person
Domyślna wartość: 
Maksymalna długość: 9
Nie NULL: 0
Główny klucz: 0
Unikalny klucz: 0
Wielokrotne klucz: 0
Pole liczbowe: 0
BLOB: 0
Typ pola: string
Unsigned: 0
Zero-filled: 0
Nazwa pola: Age
Nazwa tabeli: Person
Domyślna wartość: 
Maksymalna długość: 2
Nie NULL: 0
Główny klucz: 0
Unikalny klucz: 0
Wielokrotne klucz: 0
Pole liczbowe: 1
BLOB: 0
Typ pola: int
Unsigned: 0
Zero-filled: 0