![Antiguo](http://static.forosdelweb.com/fdwtheme/images/statusicon/post_old.gif)
09/03/2006, 16:06
|
![Avatar de nicolaspar](http://static.forosdelweb.com/customavatars/avatar80283_16.gif) | | | Fecha de Ingreso: noviembre-2004 Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 20 años, 2 meses Puntos: 34 | |
Ambas generan un vector de los resultados. También esta mysql_fetch_assoc.
Entonces: mysql_fetch_row:
Genera un vector no asociativo, esto sería del tipo: $arr[] = "uno"; $arr[] = "dos";
Donde $arr[0]= uno y $arr[1] = dos. mysql_fetch_assoc: Genera un vector asociativo, ej: $arr["algo"] = "uno"; $arr["algomas"] = "dos";
Donde $arr["algo"]= uno y $arr["algomas"] = dos. mysql_fetch_array te genera ambos, pudiendo acceder mediante posición o indice.
Ahora bien, la diferencia esta en memoria. Si tenes una consulta gigante, el espacio en memoria que generara mysql_num_row será mucho menor a lo que generaría mysql_fetch_assoc, y ni hablar si usas mysql_fetch_array.
En si, si los campos que traes son pocos (digamos, dos, tres, ... no mas de cinco) usa mysql_fetch_row que es mas óptimo.
Si son mas es conveniente usar mysql_fetch_assoc así tendrás mas comodidad y será mas legible haciendo $rs["campo"] que $rs[X].
También vale decir que mysql_fetch_array dispone de un segundo parámetro opcional que es el tipo de vector a generar. O sea, se puede decir que mysql_fetch_array es un híbrido entre los otros dos, a no ser que se especifique lo contrario, ej: while( $rs = mysql_fetch_array( $puntero, TIPO )...
TIPO Pude ser: MYSQL_ASSOC (Asolo asociativo), MYSQL_NUM, solo por posición, y el default que no es necesario MYSQL_BOTH.
No se si te mezcle mucho, o te ha ayudado...espero que la segunda ;)
Saludos |