2016-11-26 118 views
-1

我想在执行查询后生成一个colname的数组。如何在查询结果为空后获取mysql查询的列名称

$sql = "SELECT prename, lastname, CONCAT (prename, ' ', lastname AS name) 
     FROM mytable WHERE ... "; 
$result = mysqli_query($con,$sql); 
$row = mysqli_fetch_assoc($result); 
foreach ($row as $key => $value) $colNames[] = $key; 

我知道我可以使用

$sql = "SHOW COLUMNS FROM mytable; 

得到一个表的colnames但我怎么能得到colnames,即使用的是MySQL的功能,如创建“CONCAT ......”如果查询 - 结果是空的?

所以我的问题:

是否有可能得到一个返回一个空的结果的查询的列名?

+0

'mysql_fetch_assoc'你不能将它和mysqli_混合在一起,并且你使用错误的运算符'=='。 –

+0

对不起,这个错误。我刚刚编辑了我的帖子并更正了这一点。 – fergru

回答

0

是否有可能获得返回空结果的查询的列名?

没有,因为当你得到的结果会收到一个关联数组与键< =>值这是不可能的。所以如果你收到一个空的结果没有值,如果没有值,没有关联数组来获取密钥。

如果您正在尝试编写最低限度的代码块,您可能需要尝试其他方法。但是你们都准备好写的答案:$sql = "SHOW COLUMNS FROM mytable;,它可能需要0.0001秒左右...

FROM php.net/...mysql_fetch_assoc()

mysql_fetch_assoc
返回值:
返回一个字符串关联数组那对应于提取的行,或者如果没有更多行,则返回