Mysql
 sql >> база данни >  >> RDS >> Mysql

как да избягате разделителя от съдържанието на колоната, когато експортирате csv

Просто използвайте fputcsv той се грижи за екранирането и генерирането на правилни csv данни.

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

Изход:

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

Редактиране

Винаги можете да използвате комбинация от tmpfile за да отворите файл, който автоматично ще бъде изтрит в края на заявката, пишете в него и след това след създаването на отчета изведете съдържанието му с fread . Трябва да използвате fread, тъй като tmpfile връща ресурс, в противен случай можете да използвате tempnam + file_get_contents но в този случай трябва да отворите файла и да го почистите, след като го прочетете сами.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL LEFT JOIN с помощта на MAX &GROUP BY върху обединена маса?

  2. как да избера максимум от смесен низ/инт колона?

  3. Използването на char като първичен/външен ключ е не не?

  4. MySQL премахва ли общите подизрази между клаузата SELECT и HAVING/GROUP BY

  5. Как да вкарам една колона с резултати от mysql_query в масив?