Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Почему база искажает число?
 
 автор: Владимир55   (13.02.2009 в 18:59)   письмо автору
 
 

Для записи числа в базе отведено поле
time_mks INT     (20)
Веду запись так:
$time_mks = 1234567891;
            $time_mks = sprintf("%.0f", $time_mks);
Считываю из базы
echo sprintf("%.0f", ($row['time_mks']))
и получаю ожидаемое число 1234567891

Если же записать число
$time_mks = 12345678912;
то при считывании получаю
time_mks 2147483647


Более того!
При увеличении разрядности записываемого числа (12345678912, 123456789123, 1234567891234, 12345678912345 и т.д.) из базы всегда получаю одно и тоже число
time_mks 2147483647

В чем тут фокус?

  Ответить  
 
 автор: BinLaden   (13.02.2009 в 19:01)   письмо автору
 
   для: Владимир55   (13.02.2009 в 18:59)
 

В том, что в SIGNED INT нельзя впихнуть число, больше, чем 2147483647.

  Ответить  
 
 автор: а-я   (13.02.2009 в 19:04)   письмо автору
 
   для: Владимир55   (13.02.2009 в 18:59)
 

-

  Ответить  
 
 автор: Trianon   (13.02.2009 в 19:05)   письмо автору
 
   для: Владимир55   (13.02.2009 в 18:59)
 

В диапазоне допустимых значений. для INT со знаком он от -2^31 до 2^31-1
Для BIGINT - в два раза шире.

  Ответить  
 
 автор: Владимир55   (13.02.2009 в 19:18)   письмо автору
 
   для: Trianon   (13.02.2009 в 19:05)
 

Сделать поле VARCHAR (20)?

Для чисел это допустимо?

Или что?

  Ответить  
 
 автор: Trianon   (13.02.2009 в 19:29)   письмо автору
 
   для: Владимир55   (13.02.2009 в 19:18)
 

в смысле - можно ли держать числа в текстовых полях?
Можно.

  Ответить  
 
 автор: Владимир55   (13.02.2009 в 19:31)   письмо автору
 
   для: Trianon   (13.02.2009 в 19:29)
 

Ясно. Спасибо!

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования