【发布时间】:2016-04-17 13:09:33
【问题描述】:
我正在构建一个从 Mysql 表中输出 CSV 的 PHP 脚本,但它每次都将文件保存在 mysql/data/export.csv 路径中,而不是指定的路径中。我究竟做错了什么 ?我正在使用 XAMPP 本地服务器。
PHP 代码:
<?php
require_once __DIR__ . DIRECTORY_SEPARATOR . "master.php";
$export_path = __DIR__ . DIRECTORY_SEPARATOR . "export" . DIRECTORY_SEPARATOR . "export.csv";
$query = <<<SQL
SELECT op,cid,lac,rnc,lat,lng,ratio,data,rfu
FROM cells
INTO OUTFILE '?'
FIELDS TERMINATED BY ';'
LINES TERMINATED BY '\n';
SQL;
$statement = db()->prepare($query);
$statement->execute([$export_path]);
header('Content-Type: application/csv');
header('Content-Disposition: attachment; filename="export.csv";');
readfile($export_path);
附:如果我从INTO OUTFILE '?' 的问号中删除引号,它会给我这个错误:
PDO::prepare(): SQLSTATE[42000]: 语法错误或访问冲突: 1064 您的 SQL 语法有错误;检查手册 对应于您的 MySQL 服务器版本,以便使用正确的语法 靠近 '?以“;”结尾的字段LINES TERMINATED BY ' '' at line 3 in C:\xampp\htdocs\celldb\export.php 第 14 行
【问题讨论】: