Php 具有相同导出数据的两个不同视图(LocalHost和WebServer)
我已经创建了一个带有左连接选择查询的csv导出脚本。它可以在本地主机服务器Windows 8上使用相同的数据正常工作,而在web服务器Linux上则不能正常工作 每行都在本地主机上连续导出。但是,从web服务器导出相同MySQL数据的相同查询是错误的 例如,在“描述”列之后的第261行,它被拆分为新行,其余列为第261行。以及从第263行到第415行的数据输出。描述为新Excel行后再次中断。然后再次出口罚款直到1133年。描述为新Excel行后再次中断 我不明白这个问题。剧本有什么问题Php 具有相同导出数据的两个不同视图(LocalHost和WebServer),php,mysql,export-to-csv,Php,Mysql,Export To Csv,我已经创建了一个带有左连接选择查询的csv导出脚本。它可以在本地主机服务器Windows 8上使用相同的数据正常工作,而在web服务器Linux上则不能正常工作 每行都在本地主机上连续导出。但是,从web服务器导出相同MySQL数据的相同查询是错误的 例如,在“描述”列之后的第261行,它被拆分为新行,其余列为第261行。以及从第263行到第415行的数据输出。描述为新Excel行后再次中断。然后再次出口罚款直到1133年。描述为新Excel行后再次中断 我不明白这个问题。剧本有什么问题 $va
$values = mysql_query("SELECT
t1.inqty, IFNULL(t2.outqty, '0') outqty, (IFNULL(t1.inqty,'0') - IFNULL(t2.outqty, '0')) totalHand,
t1.serialno,
(SELECT projectname FROM projects WHERE t1.project_id = projects.project_id) AS ProjectName,
TRIM(t1.productid),
TRIM(t1.description),
TRIM(t1.revisionstate),
TRIM(t1.remarks),
(SELECT username FROM wms_users WHERE t1.userid = wms_users.id) AS UserName,
(SELECT cusname FROM customerinfo WHERE t1.cus_id = customerinfo.cus_id) AS CustomerName,
t1.inserteddate
FROM
(
SELECT *, SUM(in_quantity) inqty FROM stockin GROUP BY serialno
) t1 LEFT JOIN
(
SELECT serialno, SUM(out_quantity) outqty FROM stockout GROUP BY serialno
) t2
ON t1.serialno = t2.serialno
");
$headings = array('INQTY','OUTQTY','TOTAL IN HAND','SerialNo','Project Name','ProductID','Description','Revision State','Remarks','Username','Customer Name','Inserted Date');
$i = 0;
foreach ($headings as $heading) {
$csv_output .= $heading . ",";
$i++;
}
$csv_output .= "\n";
while ($rowr = mysql_fetch_row($values)) {
for($j = 0; $j < $i; $j++) {
$csv_output .= $rowr[$j] . ",";
}
$csv_output .= "\n";
}
ob_end_clean();
$filename = $file."_".date("Y-m-d_H-i",time());
header("Content-type: application/vnd.ms-excel");
//header("Content-type: text/csv");
header('Content-Length: ' . strlen($csv_output) );
header("Content-disposition: csv" . date("Y-m-d") . ".csv");
header("Content-disposition: filename=".$filename.".csv");
print $csv_output;
exit;
我认为您使用CSV从localhost导出了数据,数据中包含逗号、值,并且您没有用逗号括起值,使用CSV方法总是会发生这种情况 您可以使用加载数据来避免此类问题。例如
LOAD DATA INFILE 'data.txt' INTO TABLE tbl_name
FIELDS TERMINATED BY ',' ENCLOSED BY '"'
LINES TERMINATED BY '\r\n'
上面的行取自示例
提供用于导入的填充的更多详细信息。Outfile用于exportHi Sam,是的,该示例用于导入,以避免错误识别行。如何在脚本中添加包含的字段?我不完全理解这个问题,请您解释一下我脚本的while循环。我已经使用了以这一行结尾的字段$csv_output.=$rowr[$j],。我问如何使用此行中包含的字段。