sql >> Database >  >> RDS >> Mysql

hoe het scheidingsteken uit de kolominhoud te ontsnappen bij het exporteren van csv

Gebruik gewoon fputcsv het zorgt voor het ontsnappen en het produceren van correcte csv-gegevens.

<?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);
?>

Uitgang:

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

Bewerken

Je kunt altijd een combinatie gebruiken van tmpfile om een ​​bestand te openen dat automatisch wordt verwijderd aan het einde van het verzoek, schrijft u ernaar en voert u, nadat het rapport is gemaakt, de inhoud uit met fread . Je moet fread gebruiken omdat tmpfile een bron retourneert, anders kun je tempnam + file_get_contents maar in dat geval moet je het bestand openen en opschonen nadat je het zelf hebt gelezen.



  1. Hoe splits ik een string zodat ik toegang heb tot item x?

  2. Aanbevelingen voor prestatieafstemming van MySQL my.cnf

  3. MySQL voorwaardelijk invoegen

  4. Hoe het ibtmp1-bestand in MySQL op te schonen of het formaat ervan te wijzigen?