首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 相關知識

MySQL mysql_field_name() 取得欄位名稱簡易教學

     編輯:PHP 相關知識

函數用途

mysql_field_name(resource $result, int $field_offset) 返回指定索引位置的欄位名稱字串,失敗返回 false。

基本用法

<?php
$sql = "SELECT id, username, email, created_at FROM users";
$result = mysql_query($sql);

$name = mysql_field_name($result, 0);
echo "第 0 欄位名: $name\n"; // 輸出: id

$name = mysql_field_name($result, 2);
echo "第 2 欄位名: $name\n"; // 輸出: email
?>

遍歷所有欄位名

<?php
$num_fields = mysql_num_fields($result);
for ($i = 0; $i < $num_fields; $i++) {
    echo "Column $i: " . mysql_field_name($result, $i) . "\n";
}
?>

實戰:動態 CSV 匯出表頭

<?php
function export_csv($table, $link) {
    $result = mysql_query("SELECT * FROM `$table`", $link);
    $fp = fopen('php://output', 'w');
    
    // 寫入表頭
    $headers = [];
    for ($i = 0; $i < mysql_num_fields($result); $i++) {
        $headers[] = mysql_field_name($result, $i);
    }
    fputcsv($fp, $headers);
    
    // 寫入資料
    while ($row = mysql_fetch_row($result)) {
        fputcsv($fp, $row);
    }
    fclose($fp);
}
?>

遷移對照

擴展方法
mysqlimysqli_fetch_field_direct($result, $offset)->name
PDO$stmt->getColumnMeta($i)['name'] 或 array_keys($stmt->fetch(PDO::FETCH_ASSOC))

注意事項

  • 別名查詢返回別名:SELECT id AS user_id 返回 user_id
  • 聯合查詢若無別名且欄位同名,行為未定義(視驅動實作)
  • PHP 7.0+ 已移除 mysql_* 擴展,新專案請用 mysqli/PDO
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved