• 締切済み

PostgreSQL:ラジオボタンを用いてるSELECT文の書き方

PostgreSQL_7.0.2 テーブル(riyo_t)は ↓ で、 r_c | riyo -----+-------- r_1 |犬 r_2 |猫 ラジオボタンは ↓ で、 <form method='POST' action='menu.php3'> <input type=radio name=radio1 value="r_1">犬 <input type=radio name=radio1 value="r_2">猫 </form> menu.php3 の SELECT文は ↓ としていますが、 $sql = "SELECT yoyaku_t.name as 名前 FROM riyo_t,yoyaku_t where riyo_t.r_c = ". $radio1; 例えばラジオボタンの"猫"を選択すると このようなエラーメッセージ ↓ が出ます。 Warning: PostgresSQL query failed: ERROR: Attribute 'r_2' not found in /usr/local/apache/htdocs/riyo.php3 on line 51 いろいろと試しているのですが、うまくできません。 宜しくお願い致します。

みんなの回答

  • po-net
  • ベストアンサー率36% (172/477)
回答No.3

>$sql = "SELECT yoyaku_t.name as 名前 FROM riyo_t,yoyaku_t where riyo_t.r_c = ". $radio1; 「ruyo_tとyoyaku_tというテーブルから、テーブルr_cのriyo_tが$radioである条件で・・・ん?」 テーブル名の後にさらにテーブル??? すみませんselectからfromの間って、どう解釈したらよいのですか? 二つのyoyaku_tは違う物なのでしょうか?

  • nak205
  • ベストアンサー率60% (40/66)
回答No.2

こんばんは。 エラーから推測すると r_2という変数が宣言されていない。というものだと思います。 r_cの属性はtextだと思うので、 where riyo_t.r_c = \'".$radio1."\'"; と'で$radio1を囲ったらだめですか?PHPは全然知らないんで、'をエスケープする必要があるかどうかはわかりませんが。。。 失礼しました。

yuko1974
質問者

お礼

アドバイスをありがとうございます。 試してみましたが、¥ がどうやらエラーになってしまいます。

  • po-net
  • ベストアンサー率36% (172/477)
回答No.1

手元のPHPの書籍によれば、SQLの実行文の定義は int pg_exe($connect_name,"SQL文"); とありますが。 PHP4の資料ではありますが、PHP3でも同様であると書いてあります。

yuko1974
質問者

お礼

例えば、 <input type=radio name=radio1 value="r_1">犬 の、 value="r_1" を value="r_c" にすると、とりあえず表は出て来るのすが。 これでは使えませんからねぇ。 ありがとうございました。

関連するQ&A