Php 我的csv文件只获得一行
我正在将一个临时表输出到csv文件,但它只得到一行 这是密码Php 我的csv文件只获得一行,php,Php,我正在将一个临时表输出到csv文件,但它只得到一行 这是密码 $fileName = fopen('cmv_sailings.csv', 'w'); while ($i = mysql_fetch_assoc($export)) { $ship = $i['code']; $title = $i['title']; $sailDate = $i['sailDate']; $fromPort = $i['fromport']; $nights = $i['
$fileName = fopen('cmv_sailings.csv', 'w');
while ($i = mysql_fetch_assoc($export)) {
$ship = $i['code'];
$title = $i['title'];
$sailDate = $i['sailDate'];
$fromPort = $i['fromport'];
$nights = $i['nights'];
$grade = $i['type'];
$fare = $i['fare'];
$offer = $i['offerFare'];
$deposit = $i['deposit'];
$content = $ship.','.$title.','.$sailDate.','.$fromPort.','.$nights.','.$grade.','.$fare.','.$offer.','.$deposit.'\n';
fwrite($fileName, $content);
}
fclose($filename);
我现在一点线索也没有。我试图使用fputcsv,但在您的代码中,我也无法使用它,在
$content
变量赋值的末尾,将'\n'
更改为“\n”
。在php中,使用单引号时不会插入转义序列。当使用双引号时,会对其进行插值。您将得到一个文本反斜杠,后跟一个文本n
,而不是您要查找的换行符
至于使用,这可能不适用于您,因为您的平台使用了不正确的换行符。这种情况发生在Mac电脑上。如果这是您的问题,请尝试在文件解析代码之前启用。您可以在运行时使用以下命令执行此操作:
ini_set('auto_detect_line_endings', '1');
您将在文件中添加反斜杠和n,而不是换行符。试试这个:
$content = $ship. ... ."\n";
像这样使用,我在代码中看到的主要问题是使用单引号\n这就是为什么csv文件中没有添加新行字符,而您只在一行中获得结果的原因
$content = $ship.','.$title.','.$sailDate.','.$fromPort.','.$nights.','.$grade.','.$fare.','.$offer.','.$deposit."\n";
fwrite($fileName, $content);
什么是SQL查询?表的内容是什么?从sql select中可以得到多少行?此外,不鼓励使用
mysql\uuu
扩展名。它不支持准备好的语句。表内容是文本字段。。。可能是其中的某个字符吗?如果我将$content输出到屏幕上,就可以了。。。
$content = $ship.','.$title.','.$sailDate.','.$fromPort.','.$nights.','.$grade.','.$fare.','.$offer.','.$deposit."\n";
fwrite($fileName, $content);