MySql table export to csv file

by MD on 2009/03/06

Following is the code that you can use to export a MySql table to .csv file

<?php
// Connect database
$database="tutorial";
$table="name_list";
mysql_connect("localhost","","");
mysql_select_db("tutorial");

$result=mysql_query("select * from $table");

$out = '';

// Get all fields names in table "name_list" in database "tutorial".
$fields = mysql_list_fields(tutorial,$table);

// Count the table fields and put the value into $columns.
$columns = mysql_num_fields($fields);

// Put the name of all fields to $out.
for ($i = 0; $i < $columns; $i++) {
$l=mysql_field_name($fields, $i);
$out .= '"'.$l.'",';
}
$out .="n";

// Add all values in the table to $out.
while ($l = mysql_fetch_array($result)) {
for ($i = 0; $i < $columns; $i++) {
$out .='"'.$l["$i"].'",';
}
$out .="n";
}

// Open file export.csv.
$f = fopen ('export.csv','w');

// Put all values from $out to export.csv.
fputs($f, $out);
fclose($f);

header('Content-type: application/csv');
header('Content-Disposition: attachment; filename="export.csv"');
readfile('export.csv');
?>

You may also like:

Leave a Comment

Previous post:

Next post: