Я изначально пытался использовать MetaColumnNames , но это дало разные результаты в VisualPHPUnit и на реальном сайте, при запуске с одного и того же сервера, поэтому в конечном итоге
В итоге я сделал что-то вроде этого:
$sql = "select column_name, column_key, column_default, data_type, table_name, table_schema from information_schema.columns";
$sql .= ' where table_name="'.$table.'" and table_schema="'.$database_name.'"';
$result = $conn->Execute($sql);
while($row = $result->fetchRow()) {
$out[] = strToUpper($row['column_name']);
}
Я думаю, что это должно работать с mysql, mssql и postgres.
Преимущество такого подхода заключается в том, что вы можете получить имена столбцов, даже если запрос из таблицы возвращает пустой набор.