Signatur
Beschreibung
cubrid_field_name() ermittelt den Namen der Spalte an der angegebenen Indexposition innerhalb eines CUBRID-Abfrageergebnisses. Die Feldindizes beginnen bei 0 und enden bei cubrid_num_fields() - 1.
Die Funktion ist nützlich, wenn man die Spaltennamen eines Ergebnisses dynamisch auslesen möchte, etwa um generische Darstellungs- oder Export-Logik zu schreiben, ohne die konkreten Spaltennamen im Voraus zu kennen.
Typische Anwendungsfälle sind das automatische Erzeugen von Tabellen-Kopfzeilen in HTML-Ausgaben oder das generische Lesen von Metadaten aus einer Datenbankabfrage.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $result Pflicht | resource | Das CUBRID-Ergebnis-Handle, das von Funktionen wie cubrid_execute() oder cubrid_query() zurückgegeben wurde. |
|
| $field_index Pflicht | int | Der nullbasierte Index des Feldes, dessen Name abgerufen werden soll. Der erste Index ist 0, der letzte ist cubrid_num_fields($result) - 1. |
Rückgabewert
false zurückgegeben.Beispiele
Alle Spaltennamen eines Ergebnisses ausgeben
<?php
$conn = cubrid_connect('localhost', 33000, 'demodb', 'dba', '');
$result = cubrid_execute($conn, 'SELECT name, age, email FROM members');
if ($result) {
$num_fields = cubrid_num_fields($result);
echo "Gefundene Felder: $num_fields" . PHP_EOL;
for ($i = 0; $i < $num_fields; $i++) {
$field_name = cubrid_field_name($result, $i);
echo "Feld $i: $field_name" . PHP_EOL;
}
cubrid_close_request($result);
}
cubrid_disconnect($conn);
?>
Dynamische HTML-Tabellenkopfzeile aus Spaltennamen generieren
<?php
$conn = cubrid_connect('localhost', 33000, 'demodb', 'dba', '');
$result = cubrid_execute($conn, 'SELECT * FROM products');
if ($result) {
$num_fields = cubrid_num_fields($result);
echo '<table border="1">' . PHP_EOL;
echo '<thead><tr>' . PHP_EOL;
for ($i = 0; $i < $num_fields; $i++) {
$name = htmlspecialchars(cubrid_field_name($result, $i));
echo " <th>$name</th>" . PHP_EOL;
}
echo '</tr></thead>' . PHP_EOL;
echo '<tbody>' . PHP_EOL;
while ($row = cubrid_fetch_row($result)) {
echo '<tr>';
foreach ($row as $val) {
echo '<td>' . htmlspecialchars($val) . '</td>';
}
echo '</tr>' . PHP_EOL;
}
echo '</tbody></table>' . PHP_EOL;
cubrid_close_request($result);
}
cubrid_disconnect($conn);
?>
// Wichtig · Fallstricke
Indexgrenzen beachten: Wird ein Index übergeben, der außerhalb des gültigen Bereichs liegt (kleiner als 0 oder größer als die Gesamtzahl der Felder minus 1), gibt die Funktion false zurück. Eine Überprüfung mit cubrid_num_fields() vor dem Aufruf ist empfehlenswert.
Die Funktion gibt den Originalnamen der Spalte zurück, wie er in der Datenbank definiert ist. Bei Verwendung von Spalten-Aliasen in der SQL-Abfrage (z. B. SELECT name AS n FROM ...) wird der Aliasname zurückgegeben.