Si estás intentando meter "3,4" como número en un campo decimal, tu problema es la representación regional.
Las bases de datos trabajan con formatos nativos de datos, entre los cuales los decimales usan para su representación el
punto decimal (estilo inglés) y no la
coma.
En tu caso, lo que en realidad le estás enviando es un par de enteros, por lo que MySQL toma el primero y descarta el segundo.
Lo que tienes que hacer es controlar la representación del decimal cuando lo envías al INSERT, de modo que quede representado con punto:
Par ver como controlarlo en PHP, deberías
preguntar en el foro de PHP, porque eso es problema de programación, o bien ir directamente al manual de referencia de PHP:
PHP:: NumberFormatter PHP::number_format