У меня есть поле ввода text
, которое имеет type=number
. Когда я отправляю его из формы, содержащей этот элемент, в saveform.php
, он получает числа в виде строки. Поэтому, когда я использую запрос на обновление в saveform.php
обновить БД с этим значением, mysql
обновляется с intval
этого string.In mysql
я есть столбец по имени mobile_no
, который относится к типу int
и длины 15
.update int value to mysql php
saveform.php
$query="UPDATE `registered_users` SET `user_name`=?,`mobile_no`=?,`addressline1`=?,`addressline2`=?,`city`=?,`zipcode`=? WHERE `user_email`=?";
$statement = $mysqli->prepare($query);
$statement->bind_param("sisssis", $username, $mobileno, $addressline1, $addressline2, $city, $zipcode, $email);
Это код запроса, который я имею made.I сделали var_dump
из $mobile_no
и выхода этой свалки приводятся ниже.
string '9560987629' (length=10)
Это обновляется в БД с этим Int 2147483647
.Как я должен обновить правильные значения без изменения моего mysql
столбец из INT в строку.
Сделайте это bigint. https://dev.mysql.com/doc/refman/5.5/ru/integer-types.html – chris85
Номера телефонов мобильного телефона могут содержать символы типа '+' перед кодом страны. Возможно, было бы лучше сделать это как-то вроде текстового столбца, а не числа – RiggsFolly
. На самом деле вы можете захотеть сохранить телефон # как строки вместо int. Быстрый поиск по SO показывает несколько причин использования строкового типа данных в этом случае. – mopo922