Cita: Están checados los campos, los nombres de usuario y tablas, pero no consigo encontrar el error
Se supone que para eso estás obligado a depurar tu código, ¿o esperas a que el error se aparezca frente a ti por arte de magia?
Por favor, imprime el valor mysql_error() después de la consulta fallida: ahí tienes el error.