Acabo de probar lo de las comillas y nada, no era por eso,


.
Yo creo que el fallo me lo da en la consulta porque la realizo antes del if y cuando miro en la base de datos no se me ha insertado nada y como eso me da false pues siempre se me hace el else pero es que por más que la miro no veo el fallo,




.
Los campos int y float no necesitan comillas en la consulta, ¿no?