получить числовые данные из MySQL в виде числовой переменной...

Fish

Guest
получить числовые данные из MySQL в виде числовой переменной...

subj
что делаю:
$result=mysql_db_query($database, "select * from $tablename where date='$ndate' && time='$ntime'")

есть в таблице поле допустим называеться оно iinntt

если доставать данные из этого поля так, то $aaa будет string, т.е. строковая
while (($row=mysql_fetch_array($result))) {
$aaa=($row["iinntt"]);
}

а как мне достать значение поля $iinntt но что бы переменная $aaa была числовая?

спасибо.

P.S.

если тип поля TINYINT(2)
и писать
$a2=(int)$aaa;
echo(gettype($a2) . "<br>" . $a2);

все работает. $a2 - числовая переменная, и значение ее нормальное, т.е. какое в табл. бд.

а вот если тип поля BIGINT(16) то нифига не получаеться..
делаю все тож самое - нифига, причем неважно какое значение указано в бд, всегда выдает 2147483647

что делаю не так?
 

AnToXa

prodigy-одаренный ребенок
потому что в пхп нету bigint (он, кстати не 16, а 8 байт)
никуда не деться от хранения строкой
 

Fish

Guest
Автор оригинала: AnToXa
потому что в пхп нету bigint (он, кстати не 16, а 8 байт)
никуда не деться от хранения строкой
в смысле в пхп нету bigint? это тип поля в MySQL у меня bigint
а bigint(16) - это ж имхо указываеться макс. разрядность числа, а размер поля в байтах как был так и останеться 8 байт..
и храниться оно числом, а вовсе не строкой..
меня интересует как его числом получить...
вопрос остался вопросом..
см. выше.
 

AnToXa

prodigy-одаренный ребенок
бля. не тормози. я тебе говорю же, что в пхп нету числового типа размером в 8 байт!

хотя double можно попробовать, но это не целое :)
 

Fish

Guest
так бы сразу и сказал..
зачем кричать-то?
я стараюсь не тормозить, но мысли то выражать нада доходчиво..
сенькс вобщем..
 

AnToXa

prodigy-одаренный ребенок
а я что не сразу сказал?? :)

пожалуйста
 

Fish

Guest
ладно, проехали..
а так, к слову, какой максимально допустимый размер числовой переменной (integer) в PHP? или где об этом прочитать.
 

C.H.

Guest
Вы как-нибудть определитесь 8 байт или 8 бит :)
2^16=65536
2^32=4294967296

Их РНР хелпа:
Integer overflow
If you specify a number beyond the bounds of the integer type, it will be interpreted as a float instead. Also, if you perform an operation that results in a number beyond the bounds of the integer type, a float will be returned instead.

PHP:
$large_number =  2147483647;
var_dump($large_number);
// output: int(2147483647)

$large_number =  2147483648;
var_dump($large_number);
// output: float(2147483648)

// this goes also for hexadecimal specified integers:
var_dump( 0x80000000 );
// output: float(2147483648)

$million = 1000000;
$large_number =  50000 * $million;
var_dump($large_number);
// output: float(50000000000)
 

Fish

Guest
это я читал, сенькс что носом тыкнул
и разницу между 8 байтами и 8 битами я тоже понимаю,..
меня интересует 14-ти (а также 16-ти, 18-ти) и больше разрядные числа =))
просто сам факт, что если даже ты его в БД пихнешь - потом при получении обработать не сможешь.. в смысле мат. функции делать как с числовой переменной..
хочеться узнать как же их все-таки считать..
еще раз сенькс за хелп
 

AnToXa

prodigy-одаренный ребенок
Вы как-нибудть определитесь 8 байт или 8 бит
тут никто вообще не говорил про биты до тебя

в пхп нету значений типа long long int (8 байт), только long int (4 байта)
хранить как double можно, но это все же не целое число
 
Сверху