PHP code to write to a CSV file from MySQL query

By: Jamie Emailed: 1612 times Printed: 2078 times    

Latest comments
By: rohit kumar - how this program is work
By: Kirti - Hi..thx for the hadoop in
By: Spijker - I have altered the code a
By: ali mohammed - why we use the java in ne
By: ali mohammed - why we use the java in ne
By: mizhelle - when I exported the data
By: raul - no output as well, i'm ge
By: Rajesh - thanx very much...
By: Suindu De - Suppose we are executing

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);
?>

PHP Home | All PHP Tutorials | Latest PHP Tutorials

Sponsored Links

If this tutorial doesn't answer your question, or you have a specific question, just ask an expert here. Post your question to get a direct answer.



Bookmark and Share

Comments(0)


Be the first one to add a comment

Your name (required):


Your email(required, will not be shown to the public):


Your sites URL (optional):


Your comments:



More Tutorials by Jamie
PHP code to write to a CSV file from MySQL query

More Tutorials in PHP
PHP code to import from CSV file to MySQL
PHP code to write to a CSV file from MySQL query
PHP code to write to a CSV file for Microsoft Applications
Convert XML to CSV in PHP
Password must include both numeric and alphabetic characters - Magento
PHP file upload (Large Files)
PHP file upload prompts authentication for anonymous users
PHP file upload with IIS on windows XP/2000 etc
Error: Length parameter must be greater than 0
Multiple File Upload in PHP using IFRAME
Resume or Pause File Uploads in PHP
Exception in module wampmanager.exe at 000F15A0 in Windows 8
Handling file locks in PHP
HTML table output using Nested for loops in PHP
Count occurrences of a character in a String in PHP

More Latest News
Most Viewed Articles (in PHP )
isset() function in PHP
Different versions of PHP - History and evolution of PHP
Traversing Arrays Using foreach in PHP
The new keyword and constructors in PHP
public, protected, and private Properties in PHP
parent:: AND self:: in PHP
preg_split() and explode() in PHP
Using Codeigniter for PHP application development
Parent: child process exited with status 3221225477 -- Restarting
Using Text file as database in PHP
Building a Video Sharing Site using PHP in AWS
Get the next working day in PHP
Password must include both numeric and alphabetic characters - Magento
PHP code to write to a CSV file from MySQL query
The Object (compound) Type in PHP
Most Emailed Articles (in PHP)
preg_split() and explode() in PHP
Exception in module wampmanager.exe at 000F15A0 in Windows 8
preg_match(), function preg_match_all(), preg_grep() in PHP
Where does the PHP run?
Cannot load /usr/local/apache/libexec/libphp4.so into server: ld.so.1:......
Password must include both numeric and alphabetic characters - Magento
PHP code to import from CSV file to MySQL
PHP code to write to a CSV file from MySQL query
History and origin of PHP
Convert XML to CSV in PHP
Different versions of PHP - History and evolution of PHP
public, protected, and private Methods in PHP
Handling BLOB in PHP and MySQL
Parent: child process exited with status 3221225477 -- Restarting
Installing PHP 5.x with Apache 2.x on HP UX 11i and configuring PHP 5.x with Oracle 9i