簡體   English   中英

從MySQL中的自定義查詢輸出列名

[英]output column names from custom query in mysql

我使用php為自定義sql查詢創建了一個小的輸入表單。 我已經能夠將結果輸出到csv表單,但是在輸出文件中包含標頭時遇到了一些麻煩。

創建標題行數組沒有問題,但是我希望能夠從查詢本身創建標題。

這是我用過的:

$output = fopen('php://output', 'w');


//get query data  

$qs = $_GET['custom'];
$rs  = mysqli_query($dbc, $qs)
  or die ('Error querying database');     


header('Content-Type: text/csv; charset=utf-8');
header('Content-Disposition: attachment; filename=query.csv');

$csv = fopen('php://output', 'w');

while ($row = mysqli_fetch_assoc($rs)) {

    fputcsv($csv, $row);

}

fclose($csv);

我想要的是一種在查詢內容之前輸入來自select的行的方法(這很好)。

我知道如果將它放在第一行fputcsv行之前,它將適用於set頭:

fputcsv($csv, array('col1', 'col2', 'col3', [etc...]  ));

但這只是因為我在數組中定義了字段。

我正在尋找的是識別查詢中的列並將其用作列標題的方法。

我一直在嘗試使用僅獲取列名的查詢來做某事,然后將其作為數組提供,但我似乎無法使其工作。 像這樣:

SELECT column_name
FROM information_schema.columns
WHERE table_schema = 'database_name'
and column_name in ($query)

$ query變量與上面的$ qs查詢類似,但是可惜沒有運氣。 有誰知道如何做到這一點? 提前致謝。

fputcsv($csv, array_keys($row)); 一開始?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM