2013-09-25 4 views
0
$_GET[id]; 

$id=(int)$_GET['id']; 

mysql store - int 

У меня вопрос о преобразовании строки в целое число.преобразовать строку в целое число, когда число превышает 2147483647

(Преобразовать почтовый идентификатор, чтобы убедиться, что пользователь не отправить строку)

и MySQL тип магазина - Int


Я замечаю, если идентификатор больше, чем 2147483647, номер стал сумасшедшим.

Что делать, если на страницах сайта более 2147483647?

- любой способ превратить его в bigint? или я не должен преобразовывать строку в int?

У меня есть тип хранилища mysql для - bigint?

+0

_the номер становится сумасшедшим._ что вы подразумеваете под? –

+0

Я не знаю ни одного сайта с 2 миллиардами сообщений в одной таблице. – mavrosxristoforos

+0

Без названия, BIGINT. – Mark

ответ

1

Подписано INT в MySql can only go up to 2^31, поэтому да - вам нужно будет преобразовать столбец в BIGINT.

Помимо этого вы также должны иметь дело с ограничениями PHP. Целое число в PHP не может быть больше PHP_INT_MAX (точное значение зависит от среды), поэтому числа, которые больше, чем они должны обрабатываться в строковой или плавающей форме, если вы придерживаетесь примитивов. Сохранение значения в виде строки должно быть ОК, так как это идентификатор, и вы не делаете математику с идентификаторами.

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