2

我想使用 PHP 将数据库中的文本解析为 CSV 文件。问题是没有任何东西被解析到文件中。

function exportToCSV($output)
{
    if(isset($output))
    {
        $fp = fopen("skrivtest/test.csv", "w");
        foreach($output as $out) 
        {
            echo $out . "<br>";
            fputcsv($fp, $out); 
        }
        fclose($fp);
        return true;
    }
    else    
    {
        return false;
    }
}

if($export_csv)
{
    if(!exportToCSV($output = array($row->fornamn . " " . $row->efternamn . " " . $row->personnr . " " . $row->gatuadress . " " . $row->postnr . " " . $row->postadress, '')))
    {
        echo "Can't reach function";
        exit;
    }
}

var_dump($output) 的输出

数组(2){ [0]=> 字符串(62)“Helene Schultzberg 520622-2902 Fröseke Nygärdet 360 77 FRÖSEKE”[1]=> 字符串(0)“”} Helene Schultzberg xxxx Fröseke Nygärdet 360 77 FRÖSEKE

数组(2){ [0]=> 字符串(61)“Dan Johansson 560122-2754 Fibblegård Herråkra 360 73 LENHOVDA”[1]=> 字符串(0)“”} Dan Johansson xxxxx Fibblegård Herråkra 360 73 LENHOVDA

数组(2){ [0]=> 字符串(55)“Owe Lindahl 600521-2797 Östraby Kvarn 2 360 73 LENHOVDA”[1]=> 字符串(0)“”} Owe Lindahl xxxx Östraby Kvarn 2 360 73 LENHOVDA

数组(2){[0]=>字符串(56)“Madelene Runberg 680302-2703 Östervik 14 360 73 LENHOVDA”[1]=>字符串(0)“”} Madelene Runberg xxxx Östervik 14 360 73 LENHOVDA

数组(2){ [0]=> 字符串(48)“Bo Söderberg 420818-0077 Änghult 360 73 LENHOVDA”[1]=> 字符串(0)“”} Bo Söderberg xxxxxx Änghult 360 73 LENHOVDA

4

3 回答 3

1

当您可以在 SQL 端执行它时,为什么要在 PHP 端执行它?

SELECT * INTO OUTFILE "c:/mydata.csv"
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY "\n"
FROM my_table;

(这方面的文档在这里)

于 2014-03-12T09:53:28.850 回答
0
$output = array($row->fornamn . " " . $row->efternamn . " " . $row->personnr . " " . $row->gatuadress . " " . $row->postnr . " " . $row->postadress, ''

应该替换为

$output = array($row->fornamn, $row->efternamn, $row->personnr, $row->gatuadress, $row->postnr, $row->postadress)
于 2014-03-12T09:48:49.373 回答
0

$fp = fopen("filename.csv","w"); $value = array($var1,$var2,$var3); fputcsv($fp,$value,"\t");

于 2014-03-12T10:19:07.810 回答