- 締切済み
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 いろいろと試しているのですが、うまくできません。 宜しくお願い致します。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- po-net
- ベストアンサー率36% (172/477)
>$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)
こんばんは。 エラーから推測すると r_2という変数が宣言されていない。というものだと思います。 r_cの属性はtextだと思うので、 where riyo_t.r_c = \'".$radio1."\'"; と'で$radio1を囲ったらだめですか?PHPは全然知らないんで、'をエスケープする必要があるかどうかはわかりませんが。。。 失礼しました。
- po-net
- ベストアンサー率36% (172/477)
手元のPHPの書籍によれば、SQLの実行文の定義は int pg_exe($connect_name,"SQL文"); とありますが。 PHP4の資料ではありますが、PHP3でも同様であると書いてあります。
お礼
例えば、 <input type=radio name=radio1 value="r_1">犬 の、 value="r_1" を value="r_c" にすると、とりあえず表は出て来るのすが。 これでは使えませんからねぇ。 ありがとうございました。
お礼
アドバイスをありがとうございます。 試してみましたが、¥ がどうやらエラーになってしまいます。