mysql_fetch_assoc retrieves the data as an associative array, mysql_fetch_row retieves it as a standard array (numerically indexed). A numerically indexed array is more traditional and marginally faster (really not much in it at all, not really worth thinking about) and have the ability to be less memory hungry (but again in most cases it's not worth worrying about). On the other hand associative arrays are more intuitive to work with. I normally use associative arrays. I think that the use of numericaly indexed arrays for database resultsets is only necesarry if you're building very large scale applications, speed or memory of vital importance (they're always important but not often vitally) or you're you're going to be playing around with huge resultsets (when I say playing around I mean dumping the whole lot into an array of some sort for extra filtering/sorting)
HTH
Bubble