dポイントプレゼントキャンペーン実施中!

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

いろいろと試しているのですが、うまくできません。
宜しくお願い致します。

A 回答 (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は違う物なのでしょうか?
    • good
    • 0

こんばんは。



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

失礼しました。
    • good
    • 0
この回答へのお礼

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

お礼日時:2002/03/14 00:28

手元のPHPの書籍によれば、SQLの実行文の定義は


int pg_exe($connect_name,"SQL文");
とありますが。
PHP4の資料ではありますが、PHP3でも同様であると書いてあります。
    • good
    • 0
この回答へのお礼

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

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

お礼日時:2002/03/14 00:27

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