没有直接执行此操作的命令,您需要模拟 mysqldump 的行为并以您想要的方式输出 CSV。
$FILE = fopen("output.csv", "w");
mysql_connect($server, $login, $password);
$res = mysql_query("SHOW TABLES FROM $db");
$tables = array();
while($row = mysql_fetch_array($res, MYSQL_NUM)) {
$tables[] = "$row[0]";
}
foreach($tables as $table) {
$columns = array();
$res = mysql_query("SHOW COLUMNS FROM $table");
while($row = mysql_fetch_array($res, MYSQL_NUM)) {
$columns[] = "$row[0]";
}
fwrite($FILE, implode(",", $columns); fwrite("\n");
$resTable = mysql_query("SELECT * FROM $table");
while($row = mysql_fetch_array($resTable, MYSQL_NUM)) {
fwrite($FILE, implode(",", $row)); fwrite("\n");
}
}
MYSQL_NUM 用于为您提供数字索引数组。
如果您不想输出到文件,而是直接从网站下载到您的计算机,请将以下行添加到脚本的开头:
header('Content-Type: text/csv; name="filename.csv"');
header('Content-Disposition: attachment; filename="filename.csv"');
将 fwrite 更改为 echo 或 print。
哦,我在输出中添加了一些换行符,因为我确定您不会想要一条大长线。