Значение не вводится в базу данных 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.

Это проблема с типом данных, подписанным int, который может хранить в нем максимальное значение 2147483647, если вы попытаетесь сохранить большее значение, а затем ограничьте его максимальным лимитом, равным 2147483647. Поэтому, пожалуйста, используйте соответствующий тип данных для хранения целочисленного значения. Ниже приведены некоторые ссылки, которые могут удовлетворить ваши требования.

 datatype largest value bigint unsigned 18446744073709551615 bigint signed 9223372036854775807 int unsigned 4294967295 

его проблема с целым размером, вы должны изменить размер типа данных «int» на «bigint», тогда вы можете получить правильное значение, попробуйте это, он работает