テーブル内の情報をダウンロードできるように、PHP でダウンロード リンクを作成しようとしています。私はそれを書き始めたばかりで、思わぬ障害に遭遇しました。これが私がこれまでに持っているものです:
<?php
$sql = "SELECT * FROM " . $survey . ";";
$result = mysql_query($sql)
or die(mysql_error());
$row = mysql_fetch_assoc($result);
$something = "This is text";
$myFile = "data.txt";
$fh = fopen($myFile, 'w') or die("can't open file");
$download_data = "";
foreach ($row as $k=>$v){
$download_data .= $k . "=" . $v . "\n";
}
fwrite($fh, $download_data);
fclose($fh);
echo $download_data;
?>
<a href="data.txt">Download </a>
Code = 1 Name = John などのように表示されるはずです。txt ファイルを開くと、単に Resource id #7 と表示されます。奇妙な点は、$download_data をエコーすると、Web ページで正しく表示されることです。文字列全体をテキスト ファイルに取得するために、fwrite を使用する必要がある特別なことはありますか
(注: mysql_fetch_array と mysql_fetch_assoc の両方を使用しましたが、どちらも同じ結果になりました。また、 $test = "this is a test"; のように変数を宣言するだけでも機能します)。
編集:スクリプト内の他のすべてのコードをコメントアウトしようとしましたが、同じ結果が得られました。$download_data を印刷すると正しい結果が表示されますが、テキスト ファイルにはまだリソース ID #7 しか表示されていません。txtファイルを削除しようとしましたが、再作成すると同じことが起こります。