アプリ版:「スタンプのみでお礼する」機能のリリースについて

htmlのフォームからpostした値を整数型として受け取れますか?

$id = $_POST['id'];
こんな感じで受け取ると文字列として受け取っているようなのでmysqlに保存できません

シングルクォートで囲むと文字列になるので囲わないでdbに入れたいのです

mysql_query("INSERT INTO table(id) VALUES($id');");

A 回答 (1件)

>シングルクォートで囲むと文字列になるので囲わないでdbに入れたいのです


>
>mysql_query("INSERT INTO table(id) VALUES($id');");

囲まずに使えばいいのでは?SQL文は「整数値を表す文字列」であればいいだけですから。

mysql_query("INSERT INTO table(id) VALUES($id)");

#というか、提示されたソースも"囲んで"はいませんね
#あとセミコロンを付けないようにしてください


どうしても気になるなら、

if (is_mumeric($_POST['id'])) {
$id = intval($_POST['id']);
} else {
die('POST DATA ERROR'); // 適切なエラー処理
}

とか。


なお、MySQL関数はすでに古いです。将来のバージョンでなくなることが明言されています。今のうちにPDOやMySQLiに移行してください。
    • good
    • 0
この回答へのお礼

お答えいただきありがとうございます
もう一度やってみたらできました

お礼日時:2013/03/29 21:32

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