没有正确输入MySQL数据库的值

时间:2012-03-31 06:50:47

标签: php mysql

字段(电话号码)的值未正确输入数据库。也就是说,一旦输入值,该值似乎就会改变。

电话号码的最大限制为11个字符。在HTML表单中,我将4个初始默认字符设置为1876 - 牙买加的区号。

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

然后,在php方面:

$phone = $_POST['phone'];

正确输入字段中的所有其他值。

我哪里出错了?

更新:

在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 个答案:

答案 0 :(得分:3)

这是一个数据类型signed int的问题,如果你试图存储更大的值然后限制然后它将存储数据类型的最大限制2147483647,它能够在其中存储最大值2147483647。 所以请使用适当的数据类型来存储整数值。 以下是一些可以满足您要求的参考文献。

datatype                    largest value

bigint unsigned             18446744073709551615
bigint signed               9223372036854775807
int unsigned                4294967295

答案 1 :(得分:2)

它的整数大小的问题你必须将数据类型大小“int”更改为“bigint”然后你可以得到正确的值尝试它的工作