4 formas geniales de procesar resultados de consultas MySQL devueltos en PHP

En el episodio anterior de trabajar con MySQL y PHP, echamos un buen vistazo a todo el proceso de obtención de datos para trabajar. Esto implicó configurar una conexión a la base de datos, probar la conexión a la base de datos, definir una consulta, ejecutar dicha consulta, procesar los resultados que obtuvimos, liberar memoria y cerrar la conexión a la base de datos. Bing, Bang, Boom, estamos hablando con la base de datos con éxito. En este tutorial de PHP y MySQL veremos más de cerca la parte de procesamiento de este ciclo. Hasta ahora solo hemos analizado mysqli_fetch_row , pero ahora echaremos un vistazo a mysqli_fetch_assoc , mysqli_fetch_array y mysqli_fetch_objecttambién. Existen algunas similitudes y diferencias entre los distintos enfoques, por lo que también las examinaremos. ¡Saltemos!


Procesamiento de datos de consulta devueltos

Hay cuatro formas de procesar los datos que obtenemos de una consulta. El primer enfoque es simplemente usar la mysqli_fetch_rowopción. Esto recupera una fila de datos de la base de datos y la asigna a una matriz estándar. No hay nada elegante en esta matriz, y las claves de esta matriz son simplemente números enteros basados ​​en 0. Por ejemplo, esta consulta devolverá tres filas de datos de la tabla wp_posts de una base de datos de WordPress.


1. mysqli_fetch_row

Aquí está el resultado de sus tres publicaciones. Tenga en cuenta que cada clave en la matriz es solo un número entero que no es exactamente la forma más útil de identificar lo que está tratando. Una ventaja es que este enfoque es el más rápido de todas las opciones.


2. mysqli_fetch_assoc

Una forma más fácil de trabajar con los datos es poder hacer que los nombres de los campos de la base de datos sean los nombres clave de la matriz. Para hacer esto, simplemente puede usar mysqli_fetch_assocfunction. Simplemente actualice el ciclo while para usar esta función de esa manera.

Ahora aquí están las tres publicaciones y observe que las claves de la matriz son buenos nombres descriptivos. Estos son los nombres de campo de la tabla de la que extrajo los datos. Entonces, la diferencia entre mysqli_fetch_rowmysqli_fetch_assoces que mysqli_fetch_row coloca los resultados en una matriz estándar y mysqli_fetch_assoc coloca los resultados en una matriz asociativa .


3. mysqli_fetch_array

La tercera opción para usted, si no puede decidir cuál de las dos primeras es mejor, es utilizar el archivo mysqli_fetch_array¿Por qué dices? Porque esta función devuelve estilos asociativos y basados ​​en índices en una gran matriz. Actualizaremos el ciclo while una vez más y luego mostraremos los resultados. Tenga en cuenta que este enfoque probablemente no sea el ideal, ya que es más computacional y requiere más memoria sin obtener una ganancia real.

Una vez más, aquí están las tres publicaciones con la salida procesada por mysqli_fetch_array