Por eso te comento, con mysql_errno puedes ver el numero de error y compararlo con la lista:
http://dev.mysql.com/doc/refman/5.0/...es-server.html, entonces así tu podrás hacer un switch:
Código PHP:
switch( mysql_errno() ) {
case 1062: // Duplicate entry 'algo' for key 3
echo "Este login no esta disponible, por favor selecciona otro";
break;
default:
echo "Error no especificado en la Base de Datos";
break;
}
y así por cada error que desees manejar lo agregas con un case en el switch.
Saludos.