2012-03-31 15 views
2

フィールド(電話番号)の値がデータベースに正しく入力されていません。つまり、入力した値は変更されたように見えます。MySQLデータベースに正しく値が入力されていません

電話番号の最大制限は11文字です。 HTMLフォームでは、4初期デフォルト文字を1876 - ジャマイカの市外局番に設定します。

$phone = $_POST['phone']; 

分野における他のすべての値が正しく入力されています:次に、PHP側で

<tr> 
       <td>Phone:</td> 
       <td><input type="text" name="phone" maxlength="11" value="1876" onkeypress="return isNumberKey(event)"/></td> 
       </tr> 

。私は間違って行くのです

UPDATE:MySQLのテーブルで

、列データ・タイプはintです。

それはこのクエリ使用して挿入しています:たとえば

$query = "INSERT INTO users (id, first_name, last_name, date_of_birth, email, phone) 
     VALUES ('$id','$first_name','$last_name','$encrypted_dob','$email','$phone')"; 

を、私は、たとえば、3025009を入力しようと、あなたがデータを変更する必要があり、整数のサイズの2147483647

+2

詳細を入力する必要があります。入力した値の例とは何ですか?データベースには何が格納されますか? MySQLの列はどのような型ですか? – Interrobang

+1

電話番号が正しく入力されていない方法の例がありますか?もう少しPHPコードを表示する必要があるかもしれません。 –

+0

実際に電話機に挿入されるものを教えてください。 –

答えて

3

データ型signed intの問題は、より大きな値を格納しようとすると最大2147483647の値を格納することができます。データ型の最大値を格納します制限は2147483647です。 したがって、整数値を格納するのに適切なデータ型を使用してください。 あなたの要件を満たすかもしれないいくつかの参照が以下にあります。

datatype     largest value 

bigint unsigned    18446744073709551615 
bigint signed    9223372036854775807 
int unsigned    4294967295 
2

その問題のようにいくつかのランダムな値を格納しています"bigint"を入力すると正しい値を得ることができます。

+0

ありがとうございます、それは動作します。 – Zeno