プロが教えるわが家の防犯対策術!

はじめまして。
MySQL+PHP初心者なのですが、INSERT文中での変数展開がうまくいきません。

フォームから受け取ったデータを単純にレコードに追加するだけなのですが、

mysql_query('insert into area_tbl (area)values($area)');

areaのデータ型はテキストで、$areaをクォーテーションで囲めば当然のごとくそのまま表示されてしまいますし、事前に $area = $_POST['area'] の処理をしてもダメです。直後に echo "$area" をするとフォームに入力した文字列が表示されるので、データの受け渡しはうまくいっていると思います。また ($area) の代わりに'あいうえお'といれると【あいうえお】とデータベースに反映されるので、MySQLとPHPの日本語対応の問題もないと思います。なぜでしょうか?

ご指導のほどよろしくお願いいたします。

A 回答 (3件)

mysql_query('insert into area_tbl (area)values("'.$area.'")');


を試してみてください。
    • good
    • 1
この回答へのお礼

一発でうまくいきました。

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

お礼日時:2005/04/11 19:51

mysql_query("insert into area_tbl (area)values('$area')");


でもできる。
    • good
    • 0

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


"(ダブルクォート)で括りましょう。
    • good
    • 0

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