[英]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.