プロが教えるわが家の防犯対策術!

下記の構文で、mysqlのデータをcsvに出力したいのですが、
カンマ区切りのカンマ部分でエラーになります。

phpかmysqlの設定なのでしょうか?
どなたかご教授お願いいたします。

---以下スクリプト
header("Pragma: cache;");
header("Content-type:application/x-csv");
header("Content-Disposition: inline; filename=db_out.csv");
mb_language ('Japanese');

$db = DB::connect($dsn);
if(DB::isError($db)){
die($db->getMessage());
}
$sql = "select email,adress,date from table ";

$result = &$db ->query($sql);
if(DB::isError($result)){die($db->getMessage());}

while ($record = $result->fetchRow(DB_FETCHMODE_ASSOC)) {
$csv_line =&sprintf("%s,%s,%s\n"
,$record['date']
,$record['email']
,$record['adress']);
print(mb_convert_encoding($csv_line, "SJIS", "EUC-JP"));
}
$db->disconnect();
--------------ここまで

エラー内容
Parse error: syntax error, unexpected ','
行数を見ると
csv_line =&sprintf("%s,%s,%s\n"
この行です。

環境は
php4.4.4
mysql4.1.21
FreeBSD
Apche1.3.37

です。よろしくお願いします。

A 回答 (1件)

自分でしてみたところ、正常に表示されました



$a = "あ";
$b = "い";
$c = "う";

$csv_line =&sprintf("%s,%s,%s\n"
,$a
,$b
,$c);

echo $csv_line;

-------------------------
あ,い,う

この回答への補足

早速テストをして頂きありがとうございました。
この構文は色んな方のサンプルで実装されていて
問題は無いと思うのですが
私の環境の何かが原因かと、、、
それが何なのかが想像つかない状況です・・

補足日時:2007/02/09 11:56
    • good
    • 0
この回答へのお礼

今、原因が判明しました。
お恥ずかしいのですが、スクリプトにミスがありました。
上記構文は何処も可笑しくありませんでした。
お騒がせしてすみません。
ありがとうございました。

お礼日時:2007/02/09 15:15

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!