Signatur
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
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);
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.