-
-
Notifications
You must be signed in to change notification settings - Fork 136
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Mysql, BigInt a detekce typu #18
Comments
DibiDatabaseInfo: BIGINT is treated as string [Closed by 6da83a853564ed689ed4f15175f9af54811c3895] |
chyba se stále objevuje. Detekce typu je v tomto případě provedena přes funkci mysql_fetch_field, která vrací pro databázový BIGINT typ int. Následně dojde k přetypování a problém je tu znovu. Třeba u postgresového driveru je to už v pořádku. |
Nojo, ale jak teda detekovat, že je to bigint? |
Já to fixnul takto: |
Pokud je v sloupeček typu BIGINT (vysledováno v MySQL databázi), dibi jej označí jako dibi::INTEGER (při automatickém přetypování). Pro 32b systémy je ale int v PHP jenom +/- 2 mld, tudíž se do něj hodnota bigintu z databáze nevejde a výsledek ve vrácených datech přeteče velikost intu (PHP_INT_SIZE). Pokud se provede přetypování na float, již je to v PHP v pořádku.
The text was updated successfully, but these errors were encountered: