sql >> Databasteknik >  >> RDS >> Mysql

MySQL decimalfält returneras som strängar i PHP

Jag tvivlar starkt på det. Decimaler använder matematik med fast punkt, och det finns ingen datatyp i PHP som kan ge detta. Floats kommer nära, men de är i själva verket avrundade, vilket innebär att tilldelning av 2 till en flottör kan resultera i 1,999999999999999999 istället. Så även om MySQL erbjuder ett sätt att få en decimal i en PHP-float, riskerar du förlust av data genom att casta från en decimal till en float.

För att hantera det här rent behöver du något som GMP , men som du säkert kan gissa kan MySQL inte tillhandahålla det åt dig automatiskt. Du måste göra det manuellt i PHP.



  1. URL och länktext från databasen

  2. hur använder man phpfastcache?

  3. Fråga en MySQL db med java

  4. Hur kombinerar jag dessa 3 frågor till en MySQL-fråga?