La respuesta a esta pregunta es la siguiente, es una buena práctica depurar las consultas en la fase de desarrollo para que el MySQL te indique el error de sitanxis que estas teniendo, el problema es que utilizaste el mysql_error en un lugar donde no te dara el mismo ya que el error de sintaxis te lo da es en el mysql_query que es el que ejecuta la consulta ejemplo
de esta manera si tienes un error de sintaxis mysql te lo hara saber, saludos