Start · Sprachen · PHP · Referenz · cubrid_field_name

cubrid_field_name

Funktion

Gibt den Namen des Feldes (Spalte) am angegebenen Index eines CUBRID-Abfrageergebnisses zurück.

seit PHP 8.3.1 Kategorie: db

Signatur

cubrid_field_name(resource $result, int $field_index): string|false

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

Typ
string|false
Beschreibung
Gibt den Namen des Feldes als Zeichenkette zurück. Bei einem ungültigen Index oder einem Fehler wird 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);
?>
Gefundene Felder: 3 Feld 0: name Feld 1: age Feld 2: email

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.