2012-03-31 2 views
2

Значение для поля (номер телефона) неправильно введено в базу данных. То есть значение, похоже, меняется после его ввода.Значение не вводится в базу данных 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

Вам необходимо предоставить дополнительную информацию. Каков пример введенного значения и что хранится в базе данных? Какой тип столбца MySQL? – Interrobang

+1

Есть ли у вас пример того, как номер телефона вводится неправильно? Возможно, вам нужно будет показать еще несколько PHP-кода. –

+0

Не могли бы вы рассказать, что на самом деле вставлено для телефона? –

ответ

3

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

datatype     largest value 

bigint unsigned    18446744073709551615 
bigint signed    9223372036854775807 
int unsigned    4294967295 
2

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

+0

Большое спасибо, сэр, это работает. – Zeno

Смежные вопросы