人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

データベースを、phpを使ってCSVに出力したいです。
php初心者です。

http://php.eweb-design.com/0303_dl.php
こちらのサイトを参考にして作ってみたのですが、
●●●の箇所のみ下記の通り変更しましたが、エラーが出ます。

<?php header("Content-Type: application/octet-stream"); ?>
<?php header("Content-Disposition: attachment; filename=output.csv"); ?>
<?php
$srv = "●●●"; // サーバー名
$id = "●●●"; // ユーザーID
$passwd = "●●●"; // パスワード
$dbn = "●●●"; // データベース名
$sql = "SELECT * FROM sample2"; // SQL文

$db=mysql_connect($srv,$id,$passwd);
mysql_select_db($dbn,$db);
$rs=mysql_query($sql,$db);
for($i=0; $i<mysql_num_fields($rs); $i++){
print(mb_convert_encoding(mysql_field_name($rs,$i),"SJIS","EUC-JP").",");
}
print("\n");
for($j=0 ;$j<mysql_num_rows($rs); $j++) {
for($k=0; $k<mysql_num_fields($rs); $k++) {
$str=mysql_result($rs,$j,$k);
print(mb_convert_encoding($str,"SJIS","EUC-JP").",");
}
print("\n");
}
mysql_close($db);
?>

下記のエラーです。
Warning: mysql_num_fields(): supplied argument is not a valid MySQL result resource in /home/mamocar/www/master/ecar.php on line 13

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/mamocar/www/master/ecar.php on line 17

どのようにしたら解決出来ますか?

●質問者: matun55
●カテゴリ:ウェブ制作
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● nattow
●19ポイント

SQL 文がおかしいときなどに出るエラーが出ているようです。

sample2 というテーブルは存在しますか?

◎質問者からの返答

sample2というテーブルは存在しませんでした。

直したところ、解決出来ました。

もうひとつ教えてください。文字化けしているのですが、どこにどのように指定したらいいですか?

当サーバーの情報

データベース バージョン MySQL 4.0

データベース 文字コード EUC-JP(ujis)


2 ● nattow
●81ポイント ベストアンサー

文字化けの件についてです

いろいろ確認したい項目がありますが・・・

とりあえず mb_convert_encoding をせずに出力するとどうなりますか?

要するに、print のところを

print(mysql_field_name($rs,$i).",");

print($str.",");

に変更すると文字化けの状態はどうなりますか?

◎質問者からの返答

sample2というテーブルは存在しませんでしたので、正しいテーブル名に変更したら解決しました。

もうひとつ教えてください。文字化けしているのですが、どこにどのように指定したらいいですか?

当サーバーの情報

データベース バージョン MySQL 4.0

データベース 文字コード EUC-JP(ujis)

関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ