Utilice number_format
para reemplazar el ,
con .
Así:
number_format($value, 8, '.') // 8 = number of decimals, . = decimal separator
Sin embargo, su problema parece estar relacionado con la configuración regional actual. Debe buscar en lo siguiente:setlocale() y localeconv
setlocale(LC_ALL, 'en_US'); // NOT TESTED, read up on the appropriate syntax
Esta es la forma adecuada de hacer esto, la alternativa sería (como se sugiere a continuación), hacer un str_replace(',', '.')
, pero debe hacer lo contrario cada vez que desee generar cadenas.
Sin embargo, hay otra opción, puede establecer la configuración regional de MySQL en en_US
.