• ベストアンサー

mysqlのデータベースの内容をphpでだしたいのですが。。。

初歩的な質問で、自分なりにネットで調べたり、DBに詳しい友人にも聞いたのですが、どうしてもできなかったため質問させていただきます。 【やりたいこと】 データベースに中の文字を変数として表示させたい 【結果】 「Resource id #3」とでる 【データベースの中身】(テーブル名 genre) genreid   genre 1     アクション 2      RPG 3     アドベンチャー ・       ・ ・       ・ 【作ったソース】 <?php mysql_connect('****','****','****'); mysql_select_db('****'); mysql_query("set character_set_client=utf8"); mysql_query("set character_set_connection=utf8"); mysql_query("set character_set_results=utf8"); $genre_name_sql = "select * from genre where genreid = 1"; $genre_name = mysql_query($genre_name_sql); echo $genre_name; ?> 私としてはこれで 「アクション」 と出したいのですが、何かが悪いのか出ません。 お忙しいところ恐縮ですが、 よろしくお願い致します。 (情報が足りない場合はおっしゃってください。。。)

質問者が選んだベストアンサー

  • ベストアンサー
  • elbend
  • ベストアンサー率50% (7/14)
回答No.3

そうですね。今のソースでは判断できないですね。 とりあえず、 $genre_name_sql = "select genre from genre where genreid = 1"; $genre_name = mysql_query($genre_name_sql); $xxxxx = mysql_result($genre_name, 0); echo $xxxxx; これで「アクション」と出るでしょう。 mysql_queryの戻り値はリソースですから、$genre_name という変数名は 混乱しますね。$resとか、$resource とかにしませんか。

hasu23
質問者

お礼

ありがとうございます!!また、情報の提示不足ですいませんでした! 教えていただいた書き方で出すことができました。 変数名もわかりやすいように書くことを心がけます! 本当にありがとうございました!!

その他の回答 (2)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

それはSQL文がおかしいか、テーブルの構造がおかしいのでしょう。 普通に考えればidで絞り込みをすれば出てくるデータは1つです。 また、仮に今のものでもアクションというものがただまんぜんと 連続して出るなら、whileしないで、一つだけ取り出せばよいでしょう。 いずれにせよいま提示されているソースでは判断できません

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

>echo $genre_name; これって何を参考にしました? この$genre_nameに入っているのはあくまでも結果リソースなので mysql_fetch_arrayなどで、データを抽出しないといけません。

参考URL:
http://www.php.net/manual/ja/function.mysql-fetch-array.php
hasu23
質問者

お礼

ご返答ありがとうございます!! >これって何を参考にしました? 実際にDBサイトを作っている知人が教えてくれました。一応もぐりや知ったかぶりではないと思うんですが。。。 >この$genre_nameに入っているのはあくまでも結果リソースなので >mysql_fetch_arrayなどで、データを抽出しないといけません。 こちらご説明不足で大変申し訳ありませんでした。 mysql_fetch_arrayで出せることは分かっていたのですが、実は実際に作っているのがもうちょこっとだけ複雑な感じになっていて、配列にすると アクション アクション アクション アクション ・ ・ ・ となってしまうのです。 それではなくて、できれば文章中やタイトルタグなどに「アクション」などを引っ張ってくるやり方があると伺ったのですが。。。 ご説明不足で非常に申し訳ないです。。。

関連するQ&A