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