【发布时间】:2016-01-14 15:46:11
【问题描述】:
您好,想知道是否有人能够帮助我,我找到了下面的代码并对其进行了修改以满足我的需要,我正在尝试将 SELECT 语句中的所有数据下载到一个 csv 文件中,其中列标题根据列名,但它在列标题的导出(csv 文件)中引发错误,我不知道为什么。
我得到了正确的数据,但它没有带回列名。
这是错误:
注意:未定义索引:字段在....
这里是修改后没有正确选择的代码:
try {
$dbh = new PDO("mysql:host=$hostname;dbname=$dbname", $username, $password);
$stmt = $dbh->prepare("SELECT * FROM users");
$stmt->execute();
$fields = array();
$csv = array();
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
array_push($fields, $row['Field']);
}
array_push($csv, $fields);
$stmt = $dbh->prepare("SELECT * FROM users");
$stmt->execute();
while ($row = $stmt->fetch(PDO::FETCH_NUM)) {
array_push($csv, $row);
}
$fp = fopen('file.csv', 'w');
foreach($csv as $row) {
fputcsv($fp, $row);
}
fclose($fp);
header("Content-type: application/csv");
header("Content-Disposition: attachment; filename=export.csv");
header("Pragma: no-cache");
header("Expires: 0");
readfile('file.csv');
$dbh = null;
} catch(PDOException $e) {
echo $e->getMessage();
}
【问题讨论】:
-
不是 100% 你在这里的意思抱歉,我已经尝试过 Field 和 field 并且都带回相同的错误