我一直在尋找方法爲我的數據庫網站啓用導出功能。我的目標是構建一個非常簡單的PHP代碼來執行此操作,它只需將我的一個MySQL表的內容導出到用戶桌面,或者爲用戶提供可點擊的鏈接,以便他可以下載導出的數據庫。數據庫必須使用Excel/CSV(因爲我將使用此功能導入/導出數據庫備份功能)。將Excel數據庫導出爲Excel CSV將數據導出到PHP中的桌面
我看到fputcsv()等老方法,如MySQL(而不是庫MySQLi)代碼,但都失敗了,一些創建服務器上的目錄中的CSV文件,而其他方法簡單給像
錯誤爆炸()預計參數2是字符串,對象
或
fputcsv()給出的預期參數2是陣列,在
空給我感覺這應該是簡單的,但什麼是最好的方法或代碼用於出口數據庫功能?
編輯:
組合和測試一系列的選項之後,我能解決這個問題。我在這裏分享,以便那些遇到我的困境的人不會像我那樣艱難:(
當用戶點擊EXPORT按鈕時,Chrome瀏覽器會自動下載一個CSV文件,其中包含數據庫的副本字段名。
<?php
include('/connectme.php');
$thequery = "SELECT * FROM members";
$result = mysqli_query($conn,$thequery);
$file = fopen("php://output","w");
header('Content-Type: text/csv');
header('Content-Disposition: attachment; filename="exported.' . date("Y.m.d") . '.csv"');
header('Pragma: no-cache');
header('Expires: 0');
$emptyarr = array();
$fieldinf = mysqli_fetch_fields($result);
foreach ($fieldinf as $valu)
{
array_push($emptyarr, $valu->name);
}
fputcsv($file,$emptyarr);
while($row = mysqli_fetch_assoc($result))
{
fputcsv($file,$row);
}
fclose($file);
mysqli_free_result($result);
mysqli_close($conn);
?>
的[使用PHP代碼導出一個MySQL表爲CSV]可能的複製(http://stackoverflow.com/q/17362686/2156244) – Apb
,雖然是舊版本的MySQL,我看到了類似的示例,並試圖複製它,除了脫離mysql的警告,它給了一些錯誤。沒有新的方式做到這一點? – jay
可能重複的[簡單的方法來導出一個SQL表,而無需訪問rver或phpMyADMIN](http://stackoverflow.com/questions/81934/easy-way-to-export-a-sql-table-without-access-to-the-server-or-phpmyadmin) –