- 締切済み
mysql データ取得
db_name = AAA table_name = BBB _______ id name 1 tanaka 2 yamada 3 suzuki _______ 上記のidを指定して、 nameを取得するには どうしたらいいですか? 例)id = 1 を指定して返り値に tanakaが代入される
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- yambejp
- ベストアンサー率51% (3827/7415)
デバッグするなら $sql = "select name from BBB where id=1"; $res = mysql_quer($sql,$$link) or die(mysql_error()); とします。 $resはリソースを返すのでそれ自体をprintしてもあまり意味がありません。
- nda23
- ベストアンサー率54% (777/1415)
mysql_error($接続) これでエラーの理由が分かるはずですけど、 何か表示されませんでしたか?
- nda23
- ベストアンサー率54% (777/1415)
DBにアクセスするには次の手順が必要です。 (1)DBサーバに接続する。 (2)データベースを選択する。 (3)クエリを実行する。 (4)フェッチする。 (5)フィールドの値を読み込む。 掲題だと、いきなり(3)のクエリを実行 しているし、(4)と(5)飛ばして値は取得 できません。第一、mysql_queryに接続 オブジェクトが指定されてないので、 成功するはずありません。 $接続 = mysql_connect($サーバ,$ユーザ,$パスワード) if ( !$接続 ) { //接続できない時の処理 print("接続できません"); return ""; } if ( !mysql_select_db("AAA",$接続) ) { //DBが選択できない時の処理 print(mysql_error($接続)); mysql_close($接続); return ""; } $sql = "select name from BBB where id=1"; $結果セット = mysql_quer($sql,$接続); if ( !結果セット ) { //クエリが失敗した時の処理 print(mysql_error($接続)); mysql_close($接続); return ""; } $氏名 = ""; $レコード = mysql_fetch_object($結果セット); if ( $レコード != FALSE ) { $氏名 = $レコード->name; } mysql_free_result($結果セット); mysql_close($接続); return $氏名; ★サーバ、ユーザ、パスワードは 然るべき内容を設定してください。 ※サンプルはインデントに漢字空白を 使っています。コピペするとエラーに なります。
- hwoa1024
- ベストアンサー率36% (122/336)
DB AAAに接続後、 select name from BBB where id = '1';
お礼
$a = mysql_query("select name from BBB where id = '1'"); やってみましたが、booleanで0が $aに入りました。 $aにtanakaを入れるにはどうしたら いいでしょうか?
お礼
$sql = "select name from BBB where id=1"; $結果セット = mysql_quer($sql,$接続); if ( !結果セット ) { //クエリが失敗した時の処理 print(mysql_error($接続)); mysql_close($接続); return ""; } いろいろと省きましたが 一応この通りにかけていますが、 上記の部分でFALSEが返ってきます。 mysqlそのものにsql文を実行すると 欲しい値が表示されています。 何故でしょうか?