Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/241.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 具有相同导出数据的两个不同视图(LocalHost和WebServer)_Php_Mysql_Export To Csv - Fatal编程技术网

Php 具有相同导出数据的两个不同视图(LocalHost和WebServer)

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

我已经创建了一个带有左连接选择查询的csv导出脚本。它可以在本地主机服务器Windows 8上使用相同的数据正常工作,而在web服务器Linux上则不能正常工作

每行都在本地主机上连续导出。但是,从web服务器导出相同MySQL数据的相同查询是错误的

例如,在“描述”列之后的第261行,它被拆分为新行,其余列为第261行。以及从第263行到第415行的数据输出。描述为新Excel行后再次中断。然后再次出口罚款直到1133年。描述为新Excel行后再次中断

我不明白这个问题。剧本有什么问题

$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],。我问如何使用此行中包含的字段。