sql >> Database teknologi >  >> RDS >> Mysql

MySQL-decimalfelter returneres som strenge i PHP

Det tvivler jeg stærkt på. Decimaler bruger matematik med fast punkt, og der er ingen datatype i PHP, der kan give dette. Floats kommer tæt på, men de er faktisk afrundede, hvilket betyder, at tildeling af 2 til en float kan resultere i 1,999999999999999999 i stedet. Så selvom MySQL tilbyder en måde at få en decimal ind i en PHP float, risikerer du tab af data ved at caste fra en decimal til en float.

For at håndtere dette rent, har du brug for noget som GMP , men som du sikkert kan gætte, kan MySQL ikke give dig det automatisk. Du bliver nødt til at gøre det manuelt i PHP.



  1. MySQL-fejl:Kan ikke oprette/skrive til filen '/var/mysqltmp/#sql_1fbd_0.MYI' (fejlkode:13)

  2. Python+MySQLdb underligt problem

  3. SELECT * fra SQL-tabel ved hjælp af forberedt sætning

  4. Brug af MySQL med Oracle Heterogene Services