電子書籍の厳選無料作品が豊富!

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 'データー挿入完了';

?>



どうぞよろしくお願いします。

A 回答 (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」など英字にしても投入できませんか?

この回答への補足

アドバイスありがとうございます。
まだ独学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"
---------------------------------------------------------------------------------
と表示が出ます。


ご指示どおりしているか心配ですが、よろしくお願いします。

補足日時:2012/05/09 09:05
    • good
    • 0
この回答へのお礼

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

お礼日時:2012/06/14 11:22

item_nameの型は何になっていますか?


例えば、数値型を表すINTとかになっていると文字列は入りません。

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

この回答への補足

アドバイスありがとうございます。

型を確認したところ、

item_name:TEXT

となっておりました。他の設定は参考までに
以下の通りです。

・デフォルト値:なし
・照合順序:utf8_general_ci
・その他:全て空欄

です。

よろしくお願いします。

補足日時:2012/05/07 18:18
    • good
    • 0
この回答へのお礼

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

お礼日時:2012/06/14 11:21

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