无法将MySQL表转储拆分为与表行对应的新行

时间:2017-03-29 15:56:37

标签: php mysql text

我有一个查询将表的数据转储到文本文件中以进行报告。唯一的问题是它没有将文本文件分成与表中设置的字段对应的行。我只是得到一个连续的数据序列,并且必须开始每行应该是什么,并点击RETURN。

我的代码是

$fh = fopen('dump.txt', 'w');

while ($row = mysql_fetch_array($result)) 
     {          
        $last = end($row);          
        $num = mysql_num_fields($result) ;    
           for($i = 1; $i < $num; $i++) 
             {            
               fwrite($fh, $row[$i]);                      
               if ($row[$i] != $last)
               fwrite($fh);
             }                                                                 
        fwrite($fh, "\n");
     }
    fclose($fh);

1 个答案:

答案 0 :(得分:1)

$fh = fopen('dump.txt', 'w');
$exampleData = array(array(1,2,3),array('a','b','c'),array('x','y','z'));
while ($row = array_shift($exampleData)) 
{          
  fwrite($fh, implode(' ',$row).PHP_EOL);
}
fclose($fh);

将成为

1 2 3
a b c
x y z

如果这对您不起作用,那么还有其他一些错误要找。

如果您仍然遇到换行符问题,可以使用\r\n而不是\n。 PHP_EOL保存\n(linux)或\r\n(win)。