是否可以获取查询产生的列名?
所以(例如)如果我有这个查询:
SELECT Id AS IdNumber,
(SELECT COUNT(*) FROM tab2 WHERE IdRif = T1.Id) AS TotCount
FROM tab1 T1
我想得到:
IdNumber
TotCount
我看到MySQL query to get column names?(以及其他问题),但我无法将其用于我需要的地方。
答案 0 :(得分:0)
如果您的查询返回结果,只需使用行中的对象(fetch_object)/ array(fetch_assoc)并使用array_keys($row)
如果没有返回任何行,请使用http://php.net/manual/en/mysqli-result.fetch-field-direct.php
$result = $db->query($sql);
$i = 0;
while ($i < $db->field_count) {
$info = $result->fetch_field_direct($i++);
echo $info->name;
}
作为例子
答案 1 :(得分:0)
您可以使用mysql_fetch_array($result,MYSQL_ASSOC)
或$result->fetch_array(MYSQLI_ASSOC)
或您正在使用的任何方法将查询结果提取到关联数组中,以便您的关联数组的Key=>Value
对将是您的{{ 1}}。
因此,无论您使用的是ColumnName=>ColumnValue
还是mysql
,您都将使用相同的逻辑来获取列名称。