在查询结果为空后,如何获取mysql查询的列名

时间:2016-11-26 21:57:15

标签: php

我想在执行查询后生成一个colnames数组。

$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;   

但是,如果查询结果为空,我怎样才能获得使用像“CONCAT ...”这样的MySql函数创建的colnames?

因此我的问题是:

是否可以获取返回空结果的查询的列名?

1 个答案:

答案 0 :(得分:2)

  

是否可以获取返回空结果的查询的列名?

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

如果您正在尝试编写极简主义代码块,则可能需要尝试其他方法。但是你们都准备好了答案:$sql = "SHOW COLUMNS FROM mytable;并且它可能需要0.0001秒才能......

FROM php.net/...mysql_fetch_assoc()

  

mysql_fetch_assoc
  返回值:
   返回与获取的行对应的关联数组,如果没有其他行,则返回 FALSE