繁体   English   中英

使用PHP将SQL表导出为CSV格式

[英]Export SQL table to CSV format with PHP

我尝试使用此解决方案将数据库中的数据导出为CSV,并且可以正常工作,但所有数据均以一个冒号导出。 我想像表格数据库中的CSV一样组成我。 这段代码有什么问题?

<?php

// Database Connection

$host="localhost";
$uname="root";
$pass="";
$database = "a2zwebhelp"; 

$connection=mysql_connect($host,$uname,$pass); 

echo mysql_error();

//or die("Database Connection Failed");
$selectdb=mysql_select_db($database) or 
die("Database could not be selected"); 
$result=mysql_select_db($database)
or die("database cannot be selected <br>");

// Fetch Record from Database

$output = "";
$table = ""; // Enter Your Table Name 
$sql = mysql_query("select * from $table");
$columns_total = mysql_num_fields($sql);

// Get The Field Name

for ($i = 0; $i < $columns_total; $i++) {
$heading = mysql_field_name($sql, $i);
$output .= '"'.$heading.'",';
}
$output .="\n";

// Get Records from the table

while ($row = mysql_fetch_array($sql)) {
for ($i = 0; $i < $columns_total; $i++) {
$output .='"'.$row["$i"].'",';
}
$output .="\n";
}

// Download the file

$filename = "myFile.csv";
header('Content-type: application/csv');
header('Content-Disposition: attachment; filename='.$filename);

echo $output;
exit;

?>

如果使用“ \\n ”作为行分隔符并在ie notepad.exe中打开该文件,则该文件将无法正确识别为“回车换行符”,并且整个文件似乎只是“大一行”,但实际上不是!

您可以使用“ \\r\\n ”终止行,以防止出现这种情况。

为了使它可以被Excel自动识别,请使用; 作为字段分隔符代替,

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM