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

初歩的な質問で、自分なりにネットで調べたり、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;
?>


私としてはこれで

「アクション」
と出したいのですが、何かが悪いのか出ません。


お忙しいところ恐縮ですが、
よろしくお願い致します。

(情報が足りない場合はおっしゃってください。。。)

A 回答 (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 とかにしませんか。
    • good
    • 0
この回答へのお礼

ありがとうございます!!また、情報の提示不足ですいませんでした!

教えていただいた書き方で出すことができました。
変数名もわかりやすいように書くことを心がけます!

本当にありがとうございました!!

お礼日時:2008/12/13 15:45

それはSQL文がおかしいか、テーブルの構造がおかしいのでしょう。


普通に考えればidで絞り込みをすれば出てくるデータは1つです。

また、仮に今のものでもアクションというものがただまんぜんと
連続して出るなら、whileしないで、一つだけ取り出せばよいでしょう。

いずれにせよいま提示されているソースでは判断できません
    • good
    • 0

>echo $genre_name;



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

参考URL:http://www.php.net/manual/ja/function.mysql-fetc …
    • good
    • 0
この回答へのお礼

ご返答ありがとうございます!!

>これって何を参考にしました?
実際にDBサイトを作っている知人が教えてくれました。一応もぐりや知ったかぶりではないと思うんですが。。。

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

こちらご説明不足で大変申し訳ありませんでした。
mysql_fetch_arrayで出せることは分かっていたのですが、実は実際に作っているのがもうちょこっとだけ複雑な感じになっていて、配列にすると

アクション
アクション
アクション
アクション




となってしまうのです。
それではなくて、できれば文章中やタイトルタグなどに「アクション」などを引っ張ってくるやり方があると伺ったのですが。。。
ご説明不足で非常に申し訳ないです。。。

お礼日時:2008/12/12 01:34

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