>テーブル名は分かるのですが、そのテーブルの構造(カラム数など)は分かりません。
カラム数は分からなくても、CSV等は作れますよね。問題ないです。
>テーブルのデータを
カラム名の入ったヘッダ行は不要と判断しました。
>MS Excelに変換する
「ダブルクリックしたらExcelで開ける」でOKでしょうか?
>ちなみに日本語が含まれ、特殊文字(”など)も含まれます。
改行は無い、と判断しました。
一番簡単な方法は、TSV(タブ区切りテキスト)にして、拡張子.xlsで保存すること。
ExcelはSJISでないと文字化けしますので、文字コードはSJISに変換することになります。
<?php
$target = './hoge.xls';
$db = MDB2::connect(適切なパラメータ);
$result = $db->queryAll("SELECT * FROM hoge");
foreach($result as $row){
$tsv_row = implode("\t", $row) . "\r\n";
$sjis_tsv_row = mb_convert_encoding($tsv_row, 'SJIS-win', 'UTF-8');
file_put_contents($target, $sjis_tsv_row, FILE_APPEND|LOCK_EX);
}
?>