如果您收到以下代码:
$DBConnection =
CreateNewDBConnection(Yii::$app->get('db_cdh'),$aDatabaseName);
$DBConnection->open();
$command = $DBConnection->createCommand($aQuery);
$queryres = $command->queryAll();
如果查询有结果,我会得到一个数组,就像这样
Array
(
[0] => Array
(
[name] => 2.6.084.545
[xdim+2] => 70
)
[1] => Array
(
[name] => 2.5.102.030
[xdim+2] => 60
)
[2] => Array
(
[name] => 2.5.141.560
[xdim+2] => 80
)
)
但是如果查询结果为空,我得到一个空数组。 怎么可能得到列名?
我之所以这样问,是因为我要求查询多个数据库而某些数据库有结果(1行或更多行),而不是。系统几乎可以工作,但网格视图仅解析第一行以查找要显示的列。因此,根据多个数据库中的顺序结果,网格视图是否显示列,具体取决于首先....
欢迎任何帮助。
答案 0 :(得分:0)
您可以使用yii\db\TableSchema获取列名,然后使用它们:
$columns = [];
if (empty($queryres)) {
$columns = $DBConnection->getTableSchema('your_table_name')->getColumnNames();
}