• 締切済み

phpでデーターベース編集

phpを独学し始めた初心者です。 よろしくお願いします。 以下のphpファイルを実行すると エラーが出ないにもかかわらず、 データーベースの表示で確認すると 『item_name』に『もも』という文字が入っていません。 その他はphp通りデーターが挿入されます。 なぜでしょうか? (環境)------------------------------------- phpエディターでphpファイルをつくり phpMyAdminでデーターベースを編集してます。 ローカルホストです。 --------------------------------------------- <?php mysql_connect('localhost', 'root', '') or die(mysql_error()); mysql_select_db('mydb') or die(mysql_error()); mysql_query('SET NAMES UTF8'); mysql_query ('INSERT INTO my_items SET maker_id=1, item_name="もも", price=480, keyword="缶詰,ピンク,甘い", sales=0, created="2010-10-10", modified="2012-05-05"') or die(mysql_error()); echo 'データー挿入完了'; ?> どうぞよろしくお願いします。

みんなの回答

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

phpMyAdminからのデータの投入はできるのでしょうか? $sql='INSERT INTO my_items SET maker_id=1, item_name="もも", price=480, keyword="缶詰,ピンク,甘い", sales=0, created="2010-10-10", modified="2012-05-05"' として print $sql; で表示したとききちんと「もも」は表示されますよね? 逆に、「もも」を「momo」など英字にしても投入できませんか?

hayaken73
質問者

お礼

色々ありがとうございました。

hayaken73
質問者

補足

アドバイスありがとうございます。 まだ独学1ヶ月にも満たない初心者なので、理解が浅い点があると 思いますが、よろしくお願いします。 (1) >phpMyAdminからのデータの投入はできるのでしょうか? phpMyAdminの(SQL)タグから 'INSERT INTO my_items SET maker_id=1, item_name="もも", price=480, keyword="缶詰,ピンク,甘い", sales=0, created="2010-10-10", modified="2012-05-05"'; を実行しました。⇒データーは入ってました。 また上記の"もも"を"momo"として実行しても投入されます。 (2) >$sql='INSERT INTO my_items SET maker_id=1, item_name="もも", price=480, >keyword="缶詰,ピンク,甘い", sales=0, created="2010-10-10", modified="2012-05-05"' >として > >print $sql; >で表示したとききちんと「もも」は表示されますよね? まず疑問ですが、このご指示はphpMyAdminでは行なわなくてもいいんですよね? (自分には上記をphpMyAdminで行う方法がわからないので、以下の通りとしました) PHPエディタにて新規にファイルを作成(test02.php)し、          ↓ <?php $sql='INSERT INTO my_items SET maker_id=1, item_name="もも", price=480, keyword="缶詰,ピンク,甘い", sales=0, created="2010-10-10", modified="2012-05-05"'; print $sql; ?>          ↓ 実行すると・・・          ↓ (結果) --------------------------------------------------------------------------------- INSERT INTO my_items SET maker_id=31, item_name="もも", price=480, keyword="缶詰,ピンク,甘い", sales=0, created="2010-10-10", modified="2012-05-05" --------------------------------------------------------------------------------- と表示が出ます。 ご指示どおりしているか心配ですが、よろしくお願いします。

  • rtgp
  • ベストアンサー率100% (4/4)
回答No.1

item_nameの型は何になっていますか? 例えば、数値型を表すINTとかになっていると文字列は入りません。 型はphpMyAminで、左のテーブル一覧からmy_itemsをクリックして、構造というタブを見れば書いてあります。 もし、それが問題であれば、文字列を入れることのできる型にすれば問題なく動作するかと思います。 (TEXT型やVARCHAR型など)

hayaken73
質問者

お礼

アドバイス本当にありがとうございました。

hayaken73
質問者

補足

アドバイスありがとうございます。 型を確認したところ、 item_name:TEXT となっておりました。他の設定は参考までに 以下の通りです。 ・デフォルト値:なし ・照合順序:utf8_general_ci ・その他:全て空欄 です。 よろしくお願いします。

関連するQ&A