Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 提取查询产生的列名称_Mysql - Fatal编程技术网

Mysql 提取查询产生的列名称

Mysql 提取查询产生的列名称,mysql,Mysql,是否可以获取查询产生的列名 因此(例如)如果我有这个查询: SELECT Id AS IdNumber, (SELECT COUNT(*) FROM tab2 WHERE IdRif = T1.Id) AS TotCount FROM tab1 T1 我想得到: IdNumber TotCount 我看到了(还有其他问题),但我无法使用它来满足我的需要。如果查询返回结果,只需使用行中的对象(fetch\u object)/array(fetch\u assoc)并使用数组键($r

是否可以获取查询产生的列名

因此(例如)如果我有这个查询:

SELECT Id AS IdNumber, 
    (SELECT COUNT(*) FROM tab2 WHERE IdRif = T1.Id) AS TotCount 
FROM tab1 T1
我想得到:

IdNumber
TotCount

我看到了(还有其他问题),但我无法使用它来满足我的需要。

如果查询返回结果,只需使用行中的对象(fetch\u object)/array(fetch\u assoc)并使用
数组键($row)

如果没有返回行,请使用

$result=$db->query($sql);
$i=0;
而($i<$db->field\u count){
$info=$result->fetch_field_direct($i++);
echo$info->name;
}

例如

您可以使用
mysql\u-fetch\u-Array($result,mysql\u-ASSOC)
$result->fetch\u-Array(MYSQLI\u-ASSOC)
或您正在使用的任何方法将查询结果提取到关联数组中,这样关联数组的
键=>值
对将是您的
ColumnName=>ColumnValue


因此,无论您使用的是
mysql
还是
mysqli
,都将使用相同的逻辑来获取列名

你想要什么?查询的列名,而不是表的列名?为什么?您已经在查询中找到了它们。这可能看起来很奇怪,但我有一个复杂的查询,当我需要使用数组中的值来获取查询值时,我会感到困惑。因此,如果我可以得到列名称,我将更容易工作(我不是专业人士)您是否将PHP与MySQL一起使用?要处理查询结果,您可以在php和perl中使用@genespos将结果放入哈希中。散列的键将是列名。因此,不需要特殊查询。您使用什么语言/库?我使用Excel VBA,但如果可能,我希望使用SQL代码获取列名称。在任何情况下,vba代码都是有用的。
$result = $db->query($sql);
$i = 0;
while ($i < $db->field_count) {
    $info = $result->fetch_field_direct($i++);
    echo $info->name;
}