Programming Tutorials

(追記) (追記ここまで)

PHP code to write to a CSV file from MySQL query

By: Jamie in PHP Tutorials on 2014年10月06日 [フレーム]

Utility function to output a mysql query to csv with the option to write to file or send back to the browser as a csv attachment.

<?php
 function query_to_csv($db_conn, $query, $filename, $attachment = false, $headers = true) {
 
 if($attachment) {
 // send response headers to the browser
 header( 'Content-Type: text/csv' );
 header( 'Content-Disposition: attachment;filename='.$filename);
 $fp = fopen('php://output', 'w');
 } else {
 $fp = fopen($filename, 'w');
 }
 
 $result = mysql_query($query, $db_conn) or die( mysql_error( $db_conn ) );
 
 if($headers) {
 // output header row (if at least one row exists)
 $row = mysql_fetch_assoc($result);
 if($row) {
 fputcsv($fp, array_keys($row));
 // reset pointer back to beginning
 mysql_data_seek($result, 0);
 }
 }
 
 while($row = mysql_fetch_assoc($result)) {
 fputcsv($fp, $row);
 }
 
 fclose($fp);
 }
 // Using the function
 $sql = "SELECT * FROM table";
 // $db_conn should be a valid db handle
 // output as an attachment
 query_to_csv($db_conn, $sql, "test.csv", true);
 // output to file system
 query_to_csv($db_conn, $sql, "test.csv", false);
?>



(追記) (追記ここまで)


Add Comment

JavaScript must be enabled for certain features to work
* Required information
1000

Comments

No comments yet. Be the first!
(追記) (追記ここまで)
(追記) (追記ここまで)

AltStyle によって変換されたページ (->オリジナル) /