Hola,
si sirve de ayuda yo hice algo similar, hacía un insert de la ip, el login,
que tambien tiene un campo TIMESTAMP que se va llenando sólo.
si era fallido le ponia ! delante
pero lo importante es que antes consultaba la tabla con algo así:
que me devolvía el numero de intentos fallildos en el intervalo establecido y entonces decidia que hacer.
No se si será la mejor forma pero puede ser útil :)