Wykonałem taki test:
Wiedząc, że typ BIGINT w bazie MySQL zajmuje 8 bajtówi przyjmuje wartości od [0, 18446744073709551615] napisałem taki skrypt:
<?php $liczba1 = 18446744073709551614; // maksymalna wartosc w typie BIGINT UNSIGNED - 1 $liczba2 = 18446744073709551615; // maksymalna wartosc w typie BIGINT UNSIGNED if($liczba1 == $liczba2) { } else { } ?>
I W wyniku otrzymuję napis, że są równe :-/
To moje pytanie jest takie. Jak poprawnie odczytać z bazy danych i zapisać do niej typ BIGINT skoro PHP ma problem z przyjmowaniem takich dyżych liczb?
Edit:
Jak odczytać to jakoś działa (ku memu wielkiemu ździwieniu!). Zapisałem do bazy największą liczbę w tym typie (ręcznie, beż skryptu PHP) i odczytuje się poprawnie.
Ale nadal z zapisywaniem jest problem, bo jak zapisać do bazy taką dużą liczbę?