- ベストアンサー
PostgreSQLでINPUTでデータを送るときなんですが(初歩的)
PostgreSQLでINPUTでデータを送るときなんですが データベースのデータ型はint8と、numericを使用 しているのですが、こういうときは、 <INPUT>タグのtypeは何にすれば良いのでしょうか? 教えてください。 データ型がtextの時は、 <INPUT type="text" size="10">とすれば、いいのですが、 int8と、numericのときは、どうすればいいのですか? 教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
ん~・・・・少し分からないのだが、INPUTタグから、CGIなどで受け取った内容をSQL文でPostgresに入れたいのだろうか? HTTPでは、基本的にやりとりできる内容は文字列だけなので、CGIで文字列を受け取った後、それが「全て半角数字である事を確認」して、SQL文に食わせるしかないのではないかなぁ。 もっと良い方法があるのかも知れんが、確実に動かしたいのならば、こうするしかないのではないかなぁ。
その他の回答 (1)
- lively-gon
- ベストアンサー率50% (48/96)
こんにちは #1さんのおっしゃるとおり,数値であっても文字列でしかデータの受け渡しができません. <form>で取得したデータをどんな言語で処理するのかは分かりませんが,一度SQL文を作成すると思います. 数値も文字列と同じようにしてデータを受け取り,SQL文を作成する段階で文字列ならばシングルコーテーションを付け,数値なら付けないようにすればいいだけだと思います. JAVAでSELECT文を作るとしたら以下のような感じになると思います. 文字列の場合:"SELECT ... WHERE field1 = '" + mojiretu + "';"; 数値の場合:"SELECT ... WHERE field2 = " + suchi + ";";
お礼
回答ありがとうございます。 使用言語はperlだったのですが、 理屈がわかりました。有難うございます。
お礼
回答有難うございます。 「全て半角数字である事を確認」で エラーで除去するしていくしかありませんね。 理屈がわかって、助かりました。