Sé que:
$sth->fetchrow_hashref
devuelve un hashref de la fila recuperada de la base de datos,$sth->fetchrow_arrayref
devuelve un arrayref de la fila recuperada de la base de datos, y$sth->fetchrow_array
devuelve una matriz de la fila obtenida a partir base de datos.
Pero quiero conocer las mejores prácticas sobre estos. ¿Cuándo deberíamos usar fetchrow_hashref y cuándo deberíamos usar fetchrow_arrayref y cuándo deberíamos usar fetchrow_array?
Por otro lado, la trampa con el uso de una matriz junto con algo así como 'select * from table donde id = "blah"' significa que está a merced de la base de datos y el orden de las tablas en eso. Algo tan simple como que un DBA agregue una nueva columna en el medio de la tabla cambiará su matriz, mientras que un hashref lo ignorará. – Oesor