Podrias ver la funcion mysql_errno ,tambien, que deuelve el número del mensaje de error de la última operación.
Te podria servir para armar distintas opciones de acuerdo al error devuelto.
Extraido de
http://www.rinconastur.net/ informatica/memoria de un aprendiz de PHP:
mysql_errno($enl)
Indica el número de error que se ha producido en las transacciones MySQL realizadas a través del identificador de enlace $enl.
Cuando el número de error es CERO significa que no se ha producido error. Otros valores son menos agradables. A modo de ejemplo:
El error número 1050 indica que hemos tratado de crear una tabla ya existente.
El error número 1062 indica que hemos tratado de introducir un valor con clave duplicada.
http://ar2.php.net/manual/es/function.mysql-errno.php