コードに関して質問です

以下のコードを実行したところ
No database selected となります。
問題点を教えてくれませんか?

<?php
$db = mysql_connect('ホスト名','ユーザ名','パスワード') or die(mysql_error());
echo'データベースに接続しました';
mysql_select_db(' データベース名',$db);
mysql_query('set names UTF-8',$db);

mysql_query("INSERT INTO my_items SET maker_id=2,item_name='もも',
price=210,keyword='缶詰、ピンク、甘い',sales=0,created='2010-08-01',
modified='2010-08-01'")or die(mysql_error());
echo'データを挿入しました';
?>

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2011/10/28 14:09:44

ベストアンサー

id:ti_o_n No.1

回答回数11ベストアンサー獲得回数4スマートフォンから投稿

INSERT INTO my_items(maker_id, ,item_name)

values(2, 'もも')

これがINSERT文の正解。他の項目も前後の括弧に項名と値とを分けて置いて下さい。

そしてUPDATE文の正解なら、以下の通り。

UPDATE my_item

SET maker_id=2,item_name='もも',

price=210,keyword='缶詰、ピンク、甘い',sales=0,created='2010-08-01',

modified='2010-08-01'

他1件のコメントを見る
id:ti_o_n

あーっ! 申し訳ないです、INSERT文にミス(打ち損じ)あり!

ついでですから気になるところを全て確かめましょう。

まず mysqlshow を使って、どんな database 空間があるかを確かめて下さい:「mysqlshow --host='ホスト名' --user='ユーザー名' --password='パスワード'」。

DB名は 'データベース名' で合っていたでしょうか。

続いてそのDB空間にテーブル "my_item" があることを確認:「mysqlshow -h 'ホスト名' -u 'ユーザー名' -p 'パスワード' 'データベース名'」。

最後に、初答で誤記した INSERT 文を次の通りに訂正します:「INSERT INTO

my_items(maker_id, item_name, price, keyword, sales, created, modified)

values(2, 'もも', 210, '缶詰、ピンク、甘い', 0, '2010-08-01', '2010-08-01')

」。

恥ずかしいことに、初答ではコンマが余計についていました。

2011/10/28 12:00:14
id:saikindarasine

アドバイス有難うございます。

早速確認してみます

2011/10/28 14:07:49

その他の回答1件)

id:ti_o_n No.1

回答回数11ベストアンサー獲得回数4スマートフォンから投稿ここでベストアンサー

INSERT INTO my_items(maker_id, ,item_name)

values(2, 'もも')

これがINSERT文の正解。他の項目も前後の括弧に項名と値とを分けて置いて下さい。

そしてUPDATE文の正解なら、以下の通り。

UPDATE my_item

SET maker_id=2,item_name='もも',

price=210,keyword='缶詰、ピンク、甘い',sales=0,created='2010-08-01',

modified='2010-08-01'

他1件のコメントを見る
id:ti_o_n

あーっ! 申し訳ないです、INSERT文にミス(打ち損じ)あり!

ついでですから気になるところを全て確かめましょう。

まず mysqlshow を使って、どんな database 空間があるかを確かめて下さい:「mysqlshow --host='ホスト名' --user='ユーザー名' --password='パスワード'」。

DB名は 'データベース名' で合っていたでしょうか。

続いてそのDB空間にテーブル "my_item" があることを確認:「mysqlshow -h 'ホスト名' -u 'ユーザー名' -p 'パスワード' 'データベース名'」。

最後に、初答で誤記した INSERT 文を次の通りに訂正します:「INSERT INTO

my_items(maker_id, item_name, price, keyword, sales, created, modified)

values(2, 'もも', 210, '缶詰、ピンク、甘い', 0, '2010-08-01', '2010-08-01')

」。

恥ずかしいことに、初答ではコンマが余計についていました。

2011/10/28 12:00:14
id:saikindarasine

アドバイス有難うございます。

早速確認してみます

2011/10/28 14:07:49
id:tdoi No.2

回答回数174ベストアンサー獲得回数75

エラーメッセージからすると、

mysql_select_db('データベース名', $db)

でこけてるはず。

mysql_select_db('データベース名', $db) or die(mysql_error());

こうしたら原因が分かるかも。

データベース名のtypoが有力ですかね。

他の方が指摘しているようにSQLクエリ自体おかしいですけど。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません