da manuale:
http://se2.php.net/manual/it/functio...etch-array.php
Usando MYSQL_BOTH, si ottiene un array con entrambe gli indici (associativo e numerico). Usando MYSQL_ASSOC, si ottengono solo gli indici associativi (stesso funzionamento di mysql_fetch_assoc()), usando MYSQL_NUM, si ottengono solo gli indici numerici (stesso funzionamento di mysql_fetch_row()).
ecco perchè ti restituisce il doppio dei valori che ti aspetti. svelato l'arcano.

dai un'occhiata al manuale.