mysql_fetch_field
(PHP 4, PHP 5)
mysql_fetch_field — Liefert ein Objekt mit Spalteninformationen aus einem Abfrageergebnis
Diese Erweiterung ist seit PHP 5.5.0 als veraltet markiert und wurde in PHP 7.0.0 entfernt. Verwenden Sie stattdessen die Erweiterungen MySQLi oder PDO_MySQL. Weitere Informationen finden Sie im Ratgeber MySQL: Auswahl einer API. Alternativen zu dieser Funktion umfassen:
Beschreibung
$result
, int $field_offset
= 0): objectGibt ein Objekt zurück, das Feldinformationen enthält. Diese Funktion kann verwendet werden, um Informationen über Felder im übergebenen Abfrageergebnis zu erhalten.
Parameter-Liste
-
Ergebnis
-
Das Ergebnis Ressource, das ausgewertet wird. Dieses Ergebnis kommt von einem Aufruf von mysql_query().
-
field_offset
-
Der numerische Feldoffset. Wird dieser nicht angegeben, so werden die Informationen über das nächste bisher noch nicht von dieser Funktion gelesene Feld zurückgegeben. Der Feldoffset startet bei
0
.
Rückgabewerte
Gibt ein Objekt mit Feldinformationen zurück. Die Eigenschaften des Objekts sind:
- name - Spaltenname
- table - der Name der Tabelle, zu der die Spalte gehört, wobei dies der Aliasname ist falls, einer definiert wurde
- max_length - die maximale Länge der Spalte
-
not_null - 1, wenn die Spalte nicht
null
sein kann - primary_key - 1, wenn die Spalte ein Primärschlüssel ist
- unique_key - 1, wenn die Spalte ein eindeutiger Schlüssel ist
- multiple_key - 1, wenn die Spalte ein nicht eindeutiger Schlüssel ist
- numeric - 1, wenn die Spalte vom Typ 'numeric' ist
- blob - 1, wenn die Saplte vom Typ 'BLOB' ist
- type - der Typ der Spalte
- unsigned - 1, wenn die Spalte vorzeichenlos ist
- zerofill - 1, wenn die Spalte mit Nullen aufgefüllt wird (zero-filled)
Beispiele
Beispiel #1 mysql_fetch_field()-Beispiel
<?php
$conn = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$conn) {
die('Keine Verbindung möglich: ' . mysql_error());
}
mysql_select_db('database');
$result = mysql_query('select * from table');
if (!$result) {
die('Anfrage fehlgeschlagen: ' . mysql_error());
}
/* Metadaten der Spalten holen */
$i = 0;
while ($i < mysql_num_fields($result)) {
echo "Informationen für Spalte $i:<br />\n";
$meta = mysql_fetch_field($result, $i);
if (!$meta) {
echo "Keine Informationen vorhanden<br />\n";
}
echo "<pre>
blob: $meta->blob
max_length: $meta->max_length
multiple_key: $meta->multiple_key
name: $meta->name
not_null: $meta->not_null
numeric: $meta->numeric
primary_key: $meta->primary_key
table: $meta->table
type: $meta->type
unique_key: $meta->unique_key
unsigned: $meta->unsigned
zerofill: $meta->zerofill
</pre>";
$i++;
}
mysql_free_result($result);
?>
Anmerkungen
Hinweis: Feldnamen, die von dieser Funktion zurückgegeben werden, unterscheiden sich in der Groß-/Kleinschreibung.
Hinweis:
Falls Feld- oder Tabellennamen in der SQL-Abfrage mit einem Alias versehen wurden, so wird dieser zurückgegeben. Der ursprüngliche Name kann beispielsweise durch die Verwendung von mysqli_result::fetch_field() in Erfahrung gebracht werden.