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
どのようにしたら解決出来ますか?
文字化けの件についてです
いろいろ確認したい項目がありますが・・・
とりあえず mb_convert_encoding をせずに出力するとどうなりますか?
要するに、print のところを
print(mysql_field_name($rs,$i).",");
や
print($str.",");
に変更すると文字化けの状態はどうなりますか?
SQL 文がおかしいときなどに出るエラーが出ているようです。
sample2 というテーブルは存在しますか?
sample2というテーブルは存在しませんでした。
直したところ、解決出来ました。
もうひとつ教えてください。文字化けしているのですが、どこにどのように指定したらいいですか?
当サーバーの情報
データベース バージョン MySQL 4.0
データベース 文字コード EUC-JP(ujis)
文字化けの件についてです
いろいろ確認したい項目がありますが・・・
とりあえず mb_convert_encoding をせずに出力するとどうなりますか?
要するに、print のところを
print(mysql_field_name($rs,$i).",");
や
print($str.",");
に変更すると文字化けの状態はどうなりますか?
sample2というテーブルは存在しませんでしたので、正しいテーブル名に変更したら解決しました。
もうひとつ教えてください。文字化けしているのですが、どこにどのように指定したらいいですか?
当サーバーの情報
データベース バージョン MySQL 4.0
データベース 文字コード EUC-JP(ujis)
sample2というテーブルは存在しませんでしたので、正しいテーブル名に変更したら解決しました。
もうひとつ教えてください。文字化けしているのですが、どこにどのように指定したらいいですか?
当サーバーの情報
データベース バージョン MySQL 4.0
データベース 文字コード EUC-JP(ujis)