在PHP 中將MySQL 查詢轉換為CSV
在PHP 中,可以有效率地實作將MySQL 查詢中的資料匯出到CSV ,而無需使用臨時文件檔案。以下是完成此任務的兩種有效方法:
使用MySQL 的SELECT ... INTO OUTFILE:
此查詢直接將結果輸出到CSV 檔案:
SELECT * INTO OUTFILE "c:/mydata.csv" FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY "\n" FROM my_table;
使用PHP程式碼:
此程式碼選擇數據,將其格式化為CSV 格式,並將其作為回應發送:
$select = "SELECT * FROM table_name"; $export = mysql_query ( $select ) or die ( "Sql error : " . mysql_error( ) ); $fields = mysql_num_fields ( $export ); // Get header for ( $i = 0; $i < $fields; $i++ ) { $header .= mysql_field_name( $export , $i ) . "\t"; } // Get data while( $row = mysql_fetch_row( $export ) ) { $line = ''; foreach( $row as $value ) { if ( ( !isset( $value ) ) || ( $value == "" ) ) { $value = "\t"; } else { $value = str_replace( '"' , '""' , $value ); $value = '"' . $value . '"' . "\t"; } $line .= $value; } $data .= trim( $line ) . "\n"; } // Send response $data = str_replace( "\r" , "" , $data ); if ( $data == "" ) { $data = "\n(0) Records Found!\n"; } header("Content-type: application/octet-stream"); header("Content-Disposition: attachment; filename=your_desired_name.xls"); header("Pragma: no-cache"); header("Expires: 0"); print "$header\n$data";
這兩種方法都有效地將MySQL查詢結果轉換為CSV PHP 中的格式,根據資料庫大小和所需的靈活性等因素選擇方法。
以上是如何使用 PHP 有效率地將 MySQL 查詢結果匯出到 CSV?的詳細內容。更多資訊請關注PHP中文網其他相關文章!