El problema es que la función mysql_query($query) manda a la BD la $query y intenta de ejecutarla, pero si esa $query tiene algún error (por ejemplo un error de sintaxis) a tí no te llega ningún error (que es precisamente tu problema).
Para ver si la BD devuelve algún error tienes que usar la función mysql_error().
Algo así: mysql_query($query) or die(mysql_error());
Eso hace que si la $query devuelve un error, se parará la ejecución del código en ese punto y se imprimirá en pantalla lo que devuelve la función mysql_error() (que es precisamente el error de la BD).
Cambia tu query por esa, ejecuta el código, y verás como la BD te devuelve un error, y a partir de ahí ya podrás cambiar tu $query y adaptarla como sea necesaria.
Saludos