获取错误mysql_field_name()期望参数1是用于将Mysql导出到Excel的资源

时间:2014-07-22 15:17:17

标签: php mysqli export-to-excel export-to-csv

我试图使用PHP脚本将我的MySQL查询导出到MsExcel,一次执行脚本我收到以下错误:

  

警告:mysql_field_name()期望参数1为资源,第161行给出php文件的对象

数据正在导出,但标题(表的mysql的字段名称)未导出。此外,我希望每个字段都在一个单独的单元格中,但它保存在一个单元格中的每一行。

以下是PHP脚本:

$data = '';
$header = '';

$result = mysqli_query($GLOBALS['mysqli'], $export_sql) or die ("<b>Couldn't execute SQL query:</b> " . mysqli_error($GLOBALS['mysqli']));

$fields = mysqli_num_fields($result);

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

while ($row = mysqli_fetch_row($result)) {

    $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";

有任何解决问题的建议吗?

0 个答案:

没有答案