Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Typy danych
Forum PHP.pl > Forum > PHP
lukasheek88
Witam serdecznie,
bawię się z integracją mojej aplikacji z Allegro.

Pojawia się problem jeśli chcę wystawić komentarz. Aby to zrobić muszę podać w zmiennej nr aukcji. Aukcja ma numer dość spory np 5707020005. Jak wprowadzam tą wartość to otrzymuje w danych zwracanych info że wprowadzałem wartość 2147483647, czyli maksymalną wartość ze zmiennej INT. Podejrzewam że muszę wprowadzić jakoś wartość typu long, i pytanie jak to zrobić?
Crozin
W PHP typ INT ma zmienną długość (SIC!) 4 lub 8 bajtów w zależności od platformy. Brak też typu LONG (SIC x2!). Najprawdopodobniej powinieneś podawać nr aukcji jako tekst, tj. '123456789', nie 1234566789.
Pyton_000
Tak jak @Crozin napisał. W bazie możesz spokojnie zapisać nr. aukcji jako unsigned INT lub long int, a w PHP bezpieczniej jest operować na string.

Trzeba o tym pamiętać, bo potem będą kwiatki z tego.
phpion
Wtrącę swoje 3 grosze: tak duże numery możesz w PHP rzutować na float, a nie int. Przynajmniej w przypadku PostgreSQL spotkałem się z sytuacją, gdzie użycie '123' w warunku było dość wyraźnie wolniejsze niż 123.
lukasheek88
@phpion, float pomogło. Dzięki
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.