echo '<br>'.$_SESSION['RefINN']; //тут все верноВывод:
echo '<br>'.intval($_SESSION['RefINN']); // ВОТ тут ошибка выводит 2147483647
echo '<br>'.$_SESSION['RefKPP']; //тут все верно
echo '<br>'.intval($_SESSION['RefKPP']); //тут все верно ТУТ НЕТ ОШИБКИ
111111111111
2147483647 //откуда это значение
222222222
222222222
В базу заносится всегда с ошибкой
$queryINS = "insert into table values(
'".htmlspecialchars($_SESSION['RefName'])."',
'".$_SESSION['RefINN']."',
'".$_SESSION['RefKPP']."'
)";
Спустя 12 минут, 14 секунд (22.02.2011 - 13:15) T1grOK написал(а):
Задайте себе вопрос, а куда конкретно вы добавляете данные??? Понятное дело в таблицу table, но в какие поля???
$queryINS = "insert into table (kolonka1, kolonka2, kolonka3)
values('".htmlspecialchars($_SESSION['RefName'])."',
'".$_SESSION['RefINN']."',
'".$_SESSION['RefKPP']."'
)";
Спустя 5 минут, 56 секунд (22.02.2011 - 13:21) maximka787 написал(а):
T1grOK, ошибка видна и до добавления в таблицу. Таблицу можно не смотреть, я просто пример показал что два абсолютно одинаковых типа данных вводятся по разному. В таблице поле RefINN и RefKPP имеют значение int 12. Только первое вводится нормально, а второе непонятно откуда взявшимися цифрами.
Спустя 14 минут, 44 секунды (22.02.2011 - 13:36) T1grOK написал(а):
А с чего вы взяли что ошибка? intval может возвращать максимальное значение 2147483647, то есть как в вашем случае.
Спустя 3 минуты, 52 секунды (22.02.2011 - 13:40) ZSH написал(а):
floatval($_SESSION['RefINN']);
//или
(float)$_SESSION['RefINN'];
Спустя 48 минут, 4 секунды (22.02.2011 - 14:28) linker написал(а):
echo '<br>'.$_SESSION['RefINN'];
echo '<br>'.(double)$_SESSION['RefINN'];
echo '<br>'.$_SESSION['RefKPP'];
echo '<br>'.(integer)$_SESSION['RefKPP'];
Спустя 38 минут, 27 секунд (22.02.2011 - 15:06) maximka787 написал(а):
Да все верно, мужики, а почему если вставляю просто в базу без фильтров, например:
Может нельзя использовать 50 сессионных переменных)...
...'".$_SESSION['RefINN']."',то все значиния в таблице с полями int имеют цифру 2147483647. Я читал что это максимально превышенное значение (когда именно эта цифра вылезает)
Может нельзя использовать 50 сессионных переменных)...
Спустя 7 минут, 59 секунд (22.02.2011 - 15:14) linker написал(а):
Целочисленное INTEGER может быть без знака и со знаком, т.е. +/- или положительное/отрицательное значение. Без знака, максимальное целочисленное значение ограничено от 0 до 4294967295. Со знаком, диапазон возможных значений целого числа от -2147483648 до 2147483647.
Это основы господа, без этого в программировании делать вообще нефиг.
Это основы господа, без этого в программировании делать вообще нефиг.
Спустя 17 минут, 6 секунд (22.02.2011 - 15:32) maximka787 написал(а):
linker я знаю, что ты разбираешься в этом всем). Мне надо только понять почему $var = 100 пишется нормально в базу, а $_SESSION[] и (integer)$_SESSION[] дают это огромное значение.
$test = 111;
.....
'".$_SESSION['city']."', //тут текст
'".(integer)$_SESSION['ifnc']."', //2147483647
'".$test."', //111
'".$_SESSION['num']."' //2147483647 ,
.....
Спустя 15 минут, 53 секунды (22.02.2011 - 15:47) ZSH написал(а):
потомучто в $_SESSION['ifnc'] число больше 2147483647
Спустя 2 минуты, 31 секунда (22.02.2011 - 15:50) maximka787 написал(а):
Цитата (ZSH @ 22.02.2011 - 12:47) |
потомучто в $_SESSION['ifnc'] число больше 2147483647 |
А что нужно сделать? у меня 50 сессионных переменных, тк форма заявки на 50 полей. и в базу данных сохраняется число 2147483647, если вставлять так: '".(integer)$_SESSION['ifnc']."'
Спустя 15 минут, 13 секунд (22.02.2011 - 16:05) linker написал(а):
Я же написал:
(double)$_SESSION['ifnc']
Спустя 1 минута, 40 секунд (22.02.2011 - 16:07) maximka787 написал(а):
Цитата (linker @ 22.02.2011 - 13:05) |
Я же написал: (double)$_SESSION['ifnc'] |
Да вот так сохраняется. Благодарю.
Спустя 1 минута, 57 секунд (22.02.2011 - 16:09) ZSH написал(а):
обрабатывай (double)$_SESSION['RefINN'] или (float)$_SESSION['RefINN']
и в базе замени тип данных столбца с INT на другой
Типы данных столбцов
и в базе замени тип данных столбца с INT на другой
Типы данных столбцов
_____________
..Работает - не трогай!