2016-11-26 106 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
返回值:
返回一個字符串關聯數組那對應於提取的行,或者如果沒有更多行,則返回