sql >> Databasteknik >  >> RDS >> Mysql

hur man undviker avgränsaren från kolumninnehållet vid export av csv

Använd bara fputcsv den tar hand om att escape och producera korrekt csv-data.

<?php

$list = array (
    array('aaa', 'bbb', 'ccc', 'dddd'),
    array('123', '456', '789'),
    array('"aaa"', '"bbb"')
);

$fp = fopen('file.csv', 'w');

foreach ($list as $fields) {
    fputcsv($fp, $fields);
}

fclose($fp);
?>

Utdata:

aaa,bbb,ccc,dddd
123,456,789
"""aaa""","""bbb"""

Redigera

Du kan alltid använda en kombination av tmpfile för att öppna en fil som kommer att raderas automatiskt i slutet av begäran, skriv till den och efter att rapporten har skapats mata ut dess innehåll med fread . Du måste använda fread eftersom tmpfile returnerar en resurs, annars kan du använda tempnam + file_get_contents men i så fall måste du öppna filen och rensa efter att ha läst den själv.



  1. php-mysql-versionen är i konflikt med Mysql-servern

  2. Lägga till en radbrytning i MySQL INSERT INTO text

  3. Skapa MySQL-databas med .SQL-fil

  4. SQL Server Delete Statement:Hur man tar bort en eller multiplicerar rader från tabellen