2012-01-25 17 views
0

として、私はこのようになりますPHPスクリプトを持っている:のMongoDB - PHP - 挿入数

$contacts["{$firstname}"] = $_POST["{$firstname}"] ; 
$contacts["{$lastname}"] = $_POST["{$lastname}"] ; 
$contacts["{$age}"] = $_POST["{$age}"] ; 


    $collection->insert($contacts); 

ので、これは正常に動作しますが、私は、これらの値の全てが「fistname」、「姓」として私のコレクションに入っていますと "年齢"のすべてを引用符で囲みます。私は姓と姓の周りの引用符が欲しいけど、年齢フィールドを引用符で囲まれた文字列ではなく数字/整数として挿入したい。年齢フィールドや他の数値フィールドが数値としてmongodb/collectionに入ることを確認するにはどうすればよいですか?

私は整数 - > $ _POST ["{$ age}"]のようなものを考えていましたが、正しくはないと確信しています。やはり、私はシェルではなくPHPを使用しています。 Thnaks。

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

+1

はどのようにあなたがどんな文字列 '$ firstname'店は$ _POSTで利用可能であることを確認することができますか? http://php.net/manual/en/function.isset.phpを使って確認してください。 –

答えて

3

まず、すべての引用符と中括弧は必要ありません。第二に、私は、すべての$_POST VARSがチェックされ、検証され、$firstnameされていることを、ここで想定し$lastname$ageは、すべての有効な配列のキー文字列を使用でき

+0

私はあなたの提案を試みましたが、ページエラーを受け取っていませんが、まだ文字列として挿入しています。その他の提案はありますか?ありがとう。 – user982853

+0

これはうまくいきました。私は実際に自分のコードに誤りがありました。一度私はエラー(int)完璧に働いていた固定。ありがとう。 – user982853

+0

(int)のようなこれらの関数のチートシートがあるかどうか知っていますか?今私の問題は、小数点以下の後に小数点と数値を保持したいが、小数点以下をすべて取り除く(int)。そこに10進数を保持するためにどのような関数を使用し、10進数の後に数字を入れますか。ありがとう。 – user982853

0

ですよint

$contacts = array(
    $firstname => $_POST[$firstname], 
    $lastname => $_POST[$lastname], 
    $age  => (int) $_POST[$age] 
); 

に値をキャストしてみてくださいhttp://php.net/manual/en/function.intval.php文字列を整数に変換します。

0

、単純な整数に型キャストして、挿入します:

$contacts["{$age}"] = intval($_POST["{$age}"]) ; 
$collection->insert($contacts); 
+0

私はあなたの提案を試みましたが、私はページエラーを受け取っていませんが、まだ文字列として挿入しています。その他の提案はありますか?ありがとう – user982853