Start · Sprachen · PHP · Referenz · cubrid_column_names

cubrid_column_names

Funktion

Gibt ein Array mit den Spaltennamen eines CUBRID-Abfrageergebnisses zurück.

seit PHP 8.3.1 Kategorie: db

Signatur

cubrid_column_names(resource $result): array|false

Beschreibung

cubrid_column_names() liest die Namen aller Spalten aus einem CUBRID-Ergebnis-Handle und gibt sie als indiziertes Array zurück. Die Reihenfolge der Namen entspricht der Reihenfolge der Spalten im SELECT-Statement.

Die Funktion ist vor allem dann nützlich, wenn Spaltennamen dynamisch ermittelt werden müssen – etwa um generische Ausgabe-Routinen, Export-Funktionen oder Tabellen-Renderer zu schreiben, ohne die Abfrage selbst parsen zu müssen.

Typischer Einsatz ist die Kombination mit cubrid_fetch_row() oder cubrid_fetch_assoc(), um Zeilen mit ihren zugehörigen Spaltenbezeichnungen zu verknüpfen oder Spaltenköpfe einer HTML-Tabelle automatisch zu befüllen.

Das Ergebnis-Handle muss von cubrid_execute() oder cubrid_query() stammen. Bei einem Fehler oder einem ungültigen Handle wird false zurückgegeben.

Parameter

Name Typ Default Beschreibung
$result Pflicht resource Ein gültiges CUBRID-Ergebnis-Handle, das zuvor durch cubrid_execute() oder cubrid_query() erzeugt wurde.

Rückgabewert

Typ
array|false
Beschreibung
Ein numerisch indiziertes Array der Spaltennamen (Strings) in der Reihenfolge, in der sie im SELECT-Statement definiert wurden. Bei einem Fehler oder ungültigem Handle wird false zurückgegeben.

Beispiele

Spaltennamen einer Abfrage ausgeben

<?php
$conn = cubrid_connect('localhost', 33000, 'demodb', 'dba', '');

$result = cubrid_execute($conn, 'SELECT player_name, age, score FROM players');

if ($result) {
    $columns = cubrid_column_names($result);
    if ($columns !== false) {
        foreach ($columns as $index => $name) {
            echo "Spalte $index: $name\n";
        }
    }
    cubrid_close_request($result);
}

cubrid_disconnect($conn);
Spalte 0: player_name Spalte 1: age Spalte 2: score

Automatische HTML-Tabelle mit dynamischen Spaltenköpfen

<?php
$conn = cubrid_connect('localhost', 33000, 'demodb', 'dba', '');
$result = cubrid_execute($conn, 'SELECT player_name, age, score FROM players LIMIT 5');

if ($result) {
    $columns = cubrid_column_names($result);

    echo '<table border="1">';
    echo '<tr>';
    foreach ($columns as $col) {
        echo '<th>' . htmlspecialchars($col) . '</th>';
    }
    echo '</tr>';

    while ($row = cubrid_fetch_row($result)) {
        echo '<tr>';
        foreach ($row as $value) {
            echo '<td>' . htmlspecialchars((string)$value) . '</td>';
        }
        echo '</tr>';
    }

    echo '</table>';
    cubrid_close_request($result);
}

cubrid_disconnect($conn);

// Wichtig · Fallstricke

Hinweis zur Verfügbarkeit: Die CUBRID-Erweiterung ist nicht in der Standard-PHP-Distribution enthalten und muss separat installiert werden. Sie steht als PECL-Paket (cubrid) zur Verfügung.

Bei Verwendung von Spalten-Aliasen im SELECT (z. B. SELECT player_name AS name) gibt cubrid_column_names() den Alias (name) zurück, nicht den originalen Spaltennamen.

Das zurückgegebene Array ist nullbasiert indiziert. Eine leere Ergebnismenge (keine Zeilen) beeinflusst die Spaltennamen nicht – solange das Statement syntaktisch korrekt war, werden die Spaltennamen trotzdem zurückgegeben.