写入文件时的神秘数字字符串


Mysterious string of numbers when writing file

我有一个简单的过程来使用数据库中的数据创建CSV文件。

if (isset($_POST['submitcsv'])) {
     $csvfile = fopen("stardata.csv", "w"); //w=write, r=read, a=append
     $datebeginning = date('Y/m/d', strtotime($_POST['datebeginning']));
     $query = $pdoace->prepare("SELECT * 
                        FROM `starrisk` 
                        WHERE `testdate` >= ? 
                        AND `site` = '". $_POST['fromlocation'] ."'   
                        ORDER BY `cdcnumber` ASC"); 
        $query->execute(array($datebeginning));
        While($row = $query->fetch()) {
            for ($x=1; $x<=51; $x++)
            {
                   echo fwrite($csvfile, $row[$x].",");//inside loop;
            }
                   echo fwrite($csvfile, "'r'n");
        }
            fclose ($csvfile);
            echo 'Data Compilation Complete: <a href="stardata.csv">download now...</a>';
           }

我得到了一些神秘的数字,这些数字只出现在数据汇编完成(下面)中,似乎与数据本身无关(它由名字、姓氏和一堆-1和1(真-假)组成)。。。

117342222333222233223232233332232332223323233332117672223232323222233322222233233233323233233322222数据编译完成:立即下载

有人有想法吗???

fwrite之前的echo将输出写入的字节数。参考:http://php.net/fwrite#refsect1-函数。写返回值

将代码更改为:

 while($row = $query->fetch()) {
    fputcsv ( $csvfile , $row );
 }