• ベストアンサー

PostgreSQLでINPUTでデータを送るときなんですが(初歩的)

PostgreSQLでINPUTでデータを送るときなんですが データベースのデータ型はint8と、numericを使用 しているのですが、こういうときは、 <INPUT>タグのtypeは何にすれば良いのでしょうか? 教えてください。 データ型がtextの時は、 <INPUT type="text" size="10">とすれば、いいのですが、 int8と、numericのときは、どうすればいいのですか? 教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • anmochi
  • ベストアンサー率65% (1332/2045)
回答No.1

ん~・・・・少し分からないのだが、INPUTタグから、CGIなどで受け取った内容をSQL文でPostgresに入れたいのだろうか? HTTPでは、基本的にやりとりできる内容は文字列だけなので、CGIで文字列を受け取った後、それが「全て半角数字である事を確認」して、SQL文に食わせるしかないのではないかなぁ。 もっと良い方法があるのかも知れんが、確実に動かしたいのならば、こうするしかないのではないかなぁ。

sara555
質問者

お礼

回答有難うございます。 「全て半角数字である事を確認」で エラーで除去するしていくしかありませんね。 理屈がわかって、助かりました。

その他の回答 (1)

回答No.2

こんにちは #1さんのおっしゃるとおり,数値であっても文字列でしかデータの受け渡しができません. <form>で取得したデータをどんな言語で処理するのかは分かりませんが,一度SQL文を作成すると思います. 数値も文字列と同じようにしてデータを受け取り,SQL文を作成する段階で文字列ならばシングルコーテーションを付け,数値なら付けないようにすればいいだけだと思います. JAVAでSELECT文を作るとしたら以下のような感じになると思います. 文字列の場合:"SELECT ... WHERE field1 = '" + mojiretu + "';"; 数値の場合:"SELECT ... WHERE field2 = " + suchi + ";";

sara555
質問者

お礼

回答ありがとうございます。 使用言語はperlだったのですが、 理屈がわかりました。有難うございます。

関連するQ&A