La differenza tra mysql_fetch_row e mysql_fetch_assoc credo l'abbia capita da solo.
print_r e var_dump servono per mostrare informazioni relative al contenuto della variabile.

il fatto che il tup php.ini sia configurato per interpretare <? ?> non significa che altri facciano altrettanto. Sarebbe meglio usare la versione estesa. Poi fai come credi.