-1
我想查詢一個表.csv文件並自動下載它。該文件是使用適當的數據創建的,但下載的文件顯示錯誤的數據。查詢SQL表到一個csv文件並下載它
$filename = 'file.csv';
$i=0;
try {
$stmt = $conn->prepare("SELECT DATE, TYPE, AMOUNT, BALANCE FROM TRANSACTIONS WHERE USERNAME=? ORDER BY DATE ASC");
$stmt->execute(array($user));
$num_rows = $stmt->rowCount();
$handle = fopen($filename, 'w+') or die("can't open file");
fputcsv($handle, array('Date','Type','Amount','Balance'));
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
$row2[$i][0] = $row['DATE'];
$row2[$i][1] = $row['TYPE'];
$row2[$i][2] = $row['AMOUNT'];
$row2[$i][3] = $row['BALANCE'];
$i++;
echo $i;
fputcsv($handle, array($row['DATE'], $row['TYPE'], $row['AMOUNT'], $row['BALANCE']));
}
fclose($handle);
header('Content-disposition: attachment; filename='.$filename);
header("Content-Type: application/force-download");
header("Content-Length: " . filesize($filename));
header("Connection: close");
} catch(PDOException $e) {
echo 'ERROR: ' . $e->getMessage();
}
這是文件的樣子,當它在我的瀏覽器下載,如:
有時候它看起來像這樣:
,這是它的樣子時,它是在服務器上創建:
創建的文件服務器始終包含適當的結構和數據。由於某種原因,爲用戶下載的文件是不同的並且是錯誤的。
代碼有什麼問題?
請提取您的問題的某一部分。例如,PDO如何處理它? –
對不起,你是什麼意思?我使用PDO查詢表格 – erdomester
在你的腳本中看不到的破損的excel文件(查看文檔類型)中有一些明顯的奇怪現象。 –