【问题标题】:Error exporting MySQL query to CSV将 MySQL 查询导出到 CSV 时出错
【发布时间】:2012-10-04 02:06:38
【问题描述】:

我正在尝试使用 PHP 将数据导出到 cdv/xls 文件。我不断收到以下错误:

*"警告:mysql_query():提供的参数不是有效的 MySQL-Link 资源"*

这是我的代码:

<?php


//Connect the the database 
require('../mysql_connect.php') ;

$select = "SELECT * FROM customers WHERE email = 'info@example.com'";

$export = mysql_query ( $select, $dbc ) or die ( "Sql error : " . mysql_error( ) );

$fields = mysql_num_fields ( $export );

for ( $i = 0; $i < $fields; $i++ )
{
    $header .= mysql_field_name( $export , $i ) . "\t";
}

while( $row = mysql_fetch_row( $export ) )
{
    $line = '';
    foreach( $row as $value )
{                                            
    if ( ( !isset( $value ) ) || ( $value == "" ) )
    {
        $value = "\t";
    }
    else
    {
        $value = str_replace( '"' , '""' , $value );
        $value = '"' . $value . '"' . "\t";
    }
    $line .= $value;
}
    $data .= trim( $line ) . "\n";
}
$data = str_replace( "\r" , "" , $data );

if ( $data == "" )
{
    $data = "\n(0) Records Found!\n";                        
}

header("Content-type: application/octet-stream");
header("Content-Disposition: attachment; filename=export.xls");
header("Pragma: no-cache");
header("Expires: 0");
print "$header\n$data";


?>

非常感谢任何帮助!

【问题讨论】:

  • 根据错误消息,$dbc 不是有效的 MySQL-Link 资源,因此这意味着您的问题源自 '../mysql_connect.php'
  • 我明白这一点,我已尽一切努力纠正这一点,但似乎没有任何效果。我为我的整个网站使用了那个确切的 mysql_connect.php 文件,它可以工作。但由于某些原因在此页面上它没有。任何想法为什么?
  • 您需要发布该脚本(没有任何登录信息),以便这里的人可以查看。
  • 您也可以使用带有 INTO OUTFILE 子句的 SELECT 语句。在这种情况下,MySQL 会将表的数据导出到 CSV 文件中。

标签: php mysql mysqli export-to-csv


【解决方案1】:

我在 mysql_connect.php 包含中使用的是 mysqli 而不是 mysql。感谢您的帮助!

【讨论】:

    猜你喜欢
    • 2015-02-01
    • 1970-01-01
    • 2016-01-25
    • 2018-02-04
    • 2017-12-31
    • 1970-01-01
    • 1970-01-01
    • 2013-05-13
    • 1970-01-01
    相关资源
    最近更新 更多