ホームページ >バックエンド開発 >PHPチュートリアル >2 つの異なる方法を使用して MySQL クエリ結果を PHP で CSV としてエクスポートする方法

2 つの異なる方法を使用して MySQL クエリ結果を PHP で CSV としてエクスポートする方法

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-21 04:54:10340ブラウズ

How to Export MySQL Query Results as CSV in PHP Using Two Different Methods?

PHP で MySQL クエリ結果を CSV としてエクスポートする方法

MySQL データベースからのデータの CSV としてのエクスポートは、さまざまな方法で実現できます。ここでは 2 つの効率的なアプローチを示します:

MySQL の SELECT INTO OUTFILE を使用する

この方法では、クエリ結果をサーバー上の CSV ファイルに直接エクスポートできます:

$query = "SELECT * FROM my_table";
$csv_path = "c:/mydata.csv";
$result = mysql_query("SELECT * INTO OUTFILE '" . $csv_path . "' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\"' LINES TERMINATED BY '\n' FROM my_table");

CSV の作成手動で

または、PHP を使用して CSV ファイルを手動で作成できます:

$select = "SELECT * FROM table_name";
$export = mysql_query($select) or die("Sql error : " . mysql_error());

$fields = mysql_num_fields($export);

// Generate the header line with field names
for ($i = 0; $i < $fields; $i++) {
    $header .= mysql_field_name($export, $i) . "\t";
}

// Process each row of the query results
while ($row = mysql_fetch_row($export)) {
    $line = '';
    foreach ($row as $value) {
        if (empty($value)) {
            $value = "\t";
        } else {
            $value = str_replace('"', '""', $value);
            $value = '"' . $value . '"' . "\t";
        }
        $line .= $value;
    }
    $data .= trim($line) . "\n";
}

$data = str_replace("\r", "", $data);

// Set the HTTP headers for CSV download
header("Content-type: application/octet-stream");
header("Content-Disposition: attachment; filename=your_desired_name.xls");
header("Pragma: no-cache");
header("Expires: 0");

// Output the CSV
print "$header\n$data";

以上が2 つの異なる方法を使用して MySQL クエリ結果を PHP で CSV としてエクスポートする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。