當前位置: 首頁> 最新文章列表> PHP數據導入導出實用技巧與代碼示例

PHP數據導入導出實用技巧與代碼示例

M66 2025-07-18

PHP數據導入導出功能簡介

在Web開發中,數據的導入與導出是常見且重要的需求。無論是從外部文件導入數據到數據庫,還是將數據庫中的數據導出為CSV或Excel文件,都需要合理使用PHP的文件和數據庫操作函數。本文將系統介紹如何實現這兩項功能,並提供具體的PHP示例代碼,幫助您快速掌握相關技巧。

數據庫數據導入功能實現

數據庫導入通常指將CSV等格式的外部數據文件導入到數據庫表中。以下代碼示例演示了基本的導入流程:

<?php
// 導入數據庫配置文件
require_once 'config.php';

// 連接數據庫
$conn = new mysqli(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);

// 檢測數據庫連接是否成功
if ($conn-> connect_error) {
    die("數據庫連接失敗:" . $conn->connect_error);
}

// 讀取外部CSV文件$csvFile = &#39;data.csv&#39;;
$handle = fopen($csvFile, &#39;r&#39;);

// 逐行讀取CSV文件內容,並插入數據庫while (($data = fgetcsv($handle, 1000, &#39;,&#39;)) !== false) {
    $sql = "INSERT INTO `tablename` (`column1`, `column2`, `column3`) VALUES (&#39;" 
            . $data[0] . "&#39;, &#39;" . $data[1] . "&#39;, &#39;" . $data[2] . "&#39;)";
    if ($conn->query($sql) === false) {
        echo "數據導入失敗:" . $conn->error;
    }
}

// 關閉文件句柄和數據庫連接fclose($handle);
$conn->close();
?>

代碼解析:首先引入數據庫配置,建立連接後使用fopen打開CSV文件, fgetcsv逐行讀取數據,並通過拼接SQL語句插入數據庫,最後關閉資源,完成數據導入。

數據庫數據導出功能實現

數據導出通常是將數據庫表數據導出成CSV文件,方便後續處理或備份。以下示例展示如何實現導出:

<?php
// 導入數據庫配置文件
require_once 'config.php';

// 連接數據庫
$conn = new mysqli(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);

// 檢測數據庫連接是否成功
if ($conn-> connect_error) {
    die("數據庫連接失敗:" . $conn->connect_error);
}

// 查詢數據庫中的數據$sql = "SELECT * FROM `tablename`";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
    // 創建CSV文件並寫入表頭$filename = &#39;data.csv&#39;;
    $handle = fopen($filename, &#39;w&#39;);
    fputcsv($handle, array(&#39;Column 1&#39;, &#39;Column 2&#39;, &#39;Column 3&#39;));

    // 寫入數據行while ($row = $result->fetch_assoc()) {
        fputcsv($handle, array($row[&#39;column1&#39;], $row[&#39;column2&#39;], $row[&#39;column3&#39;]));
    }

    // 關閉文件句柄fclose($handle);

    echo "數據導出成功!";
} else {
    echo "數據庫中無數據!";
}

// 關閉數據庫連接$conn->close();
?>

代碼說明:通過數據庫連接查詢數據,若存在結果則創建CSV文件,寫入表頭及數據內容,最後關閉資源。成功導出後會有提示。

總結

本文介紹瞭如何利用PHP實現數據的導入與導出功能,結合文件操作與數據庫操作,為開發者提供了簡單易懂的參考代碼。掌握這些技巧後,可以在實際項目中高效地處理數據的遷移與備份需求,提高開發效率。