No estás entendiendo. mysql_num_rows() devuelve el número de filas que concidieron con los criterios de tu consulta. No lo puedes usar para crear un ciclo. Ahora, mysql_fetch_array() (y afines) te devuelven los resultados fila por fila. Es por eso que se suelen usar junto a un while paracrear un ciclo que recorra todas las filas.
Tu consulta devuelve un sólo resultado, por eso, como dice
nicolaspar, no es necesario crear un ciclo, simplemente asiganr su valor a una variable. Ese código que tienes (el último) no imprime nada pues usas la función dos veces sobre el mismo recurso ($resultado). La función mysql_fetch_array() devuelve una fila y avanza el puntero del array una posición. Por eso, cada vez que ejecutas esa función el puntero avanza. Cuando llega al final devuelve false. Como sólo tienes un resultado y aplicas la funcion dos veces, la segunda llamada devuelve false.
Simplemente pon
$row = mysql_fetch_array($resultado); y en vez del while coloca un if. Asi debe funcionarte. Y por favor, lee urgentemente el
manual de PHP o busca un buen
manual de PHP Mysql
Saludos,