MySQL 쿼리 결과를 PHP의 CSV로 내보내기
질문:
가장 좋은 방법은 무엇입니까? MySQL 쿼리를 CSV 파일로 효율적으로 변환하기 위해 PHP?
답변:
PHP를 사용하여 MySQL 쿼리 결과를 CSV로 내보내는 방법에는 여러 가지가 있습니다.
1. MySQL의 SELECT INTO OUTFILE 사용:
이 방법을 사용하면 임시 파일을 사용하지 않고 쿼리 결과를 CSV 파일로 직접 출력할 수 있습니다.
SELECT * INTO OUTFILE "c:/mydata.csv" FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY "\n" FROM my_table;
자세한 내용은 MySQL 설명서를 참조하세요. 자세한 내용은
2. 수동 내보내기 및 포맷:
PHP를 사용하여 수동으로 내보내기 및 포맷을 수행할 수 있습니다:
$select = "SELECT * FROM table_name"; $export = mysql_query($select) or die("Sql error : " . mysql_error()); $fields = mysql_num_fields($export); // Generate header for ($i = 0; $i < $fields; $i++) { $header .= mysql_field_name($export, $i) . "\t"; } // Generate data while ($row = mysql_fetch_row($export)) { $line = ''; foreach ($row as $value) { // Handle empty values if (empty($value)) { $value = "\t"; } else { // Escape double quotes $value = str_replace('"', '""', $value); $value = '"' . $value . '"' . "\t"; } $line .= $value; } $data .= trim($line) . "\n"; } // Remove leading/trailing whitespace $data = str_replace("\r", "", $data); // Send headers and output CSV 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";
위 내용은 PHP를 사용하여 MySQL 쿼리 결과를 CSV 파일로 효율적으로 내보내려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!