• ベストアンサー

MySQLのINSERT文で変数展開ができません

はじめまして。 MySQL+PHP初心者なのですが、INSERT文中での変数展開がうまくいきません。 フォームから受け取ったデータを単純にレコードに追加するだけなのですが、 mysql_query('insert into area_tbl (area)values($area)'); areaのデータ型はテキストで、$areaをクォーテーションで囲めば当然のごとくそのまま表示されてしまいますし、事前に $area = $_POST['area'] の処理をしてもダメです。直後に echo "$area" をするとフォームに入力した文字列が表示されるので、データの受け渡しはうまくいっていると思います。また ($area) の代わりに'あいうえお'といれると【あいうえお】とデータベースに反映されるので、MySQLとPHPの日本語対応の問題もないと思います。なぜでしょうか? ご指導のほどよろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • YSW
  • ベストアンサー率23% (33/141)
回答No.2

mysql_query('insert into area_tbl (area)values("'.$area.'")'); を試してみてください。

conquest
質問者

お礼

一発でうまくいきました。 MySQLやPHP関連のサイトを見て回ったのですが、なかなか答えにたどり着けずにいました。ありがとうございます。

その他の回答 (2)

  • carroll
  • ベストアンサー率61% (13/21)
回答No.3

mysql_query("insert into area_tbl (area)values('$area')"); でもできる。

  • Ethersky
  • ベストアンサー率71% (168/235)
回答No.1

'(シングルクォート)で括った場合は変数展開されません。 "(ダブルクォート)で括りましょう。

関連するQ&A