php - 使用php导出的csv文件格式出现错误

标签 php mysql csv

我使用下面的代码从我的页面以 csv 格式保存数据。保存后,我的 csv 文件中有一些额外的行。我将如何删除它,我需要引用这一点。

$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 = "tbl_record"; // 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;

?>

下面是输出值的屏幕截图

output csv file

红色标记是不需要的线。

最佳答案

它是一个警告,表明 mysql_* 已弃用,请勿使用它。使用PDO,快速修复将是

//Put on top
error_reporting(E_ERROR | E_PARSE);

这将抑制警告,这是一个很好的入门 read of PDO

更新

要使用 mysqli 获取 CSV 中的字段名称,您需要更改此代码

将其更改为

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

这个

while ($finfo = mysqli_fetch_field($result)) {
    $heading = $finfo->name;
    $output .= '"'.$heading.'",';
}

启用mysqli_*

检查 php.ini 中的 extension=mysqli.so 或类似内容。可以使用 # 将其注释掉,只需取消注释即可。

启用 PDO

在 Windows 服务器上,您可以在 php.ini 中添加以下行

extension=php_pdo.dll
extension=php_pdo_mysql.dll

在 Linux 服务器上,您可以使用以下选项编译 php --with-pdo-mysql 在 php.ini 中,添加以下行

extension=pdo.so
extension=pdo_mysql.so

关于php - 使用php导出的csv文件格式出现错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28112043/

相关文章:

php - amazon s3 - 图片下载而不是在浏览器中显示

php - Gearman:从后台 worker 向客户端发送数据

php - 批量删除大量文件

mysql - SQL删除与另一个表的关系

javascript - PHP 'include'函数的现代JS方法

mysql - SQL 与列名连接

java - 如何在 Java 应用程序中嵌入 MySQL 数据库

php - fputcsv 将 HTML 代码插入到 csv 文件中

java - 如何从Java数组列表中消除空的csv记录?

python - 如何正确解析带内引号的 CSV 文件?