Cuando desarrollamos Software con Php, y más cuando hacemos conexión con bases de datos, surgen errores que debemos aprender a manejar; algo muy común cuando intentamos hacer alguna acción en el uso de una base de datos es el error mysqli_fetch_array en Php, en este artículo veremos por qué sucede y cómo podemos corregirlo.
Cómo corrregir el error mysqli_fetch_array en PHP y MySQL
Arranquemos analizando lo que es mysqli_fetch_array, en vista que comprender de que se trata, hará las cosas fáciles para nosotros:
Devuelve un array que corresponde a la fila obtenida o NULL si es que no hay más filas en el resultset (Conjunto de resultados) representado por el parámetro result.
Encontramos también que esta función es una extensión de la función mysqli_fetch_row().
Veamos ejemplos:
Ejemplo 1: Arreglo numérico
Supongamos que tenemos que hacer una consulta sobre una tabla llamada personas; con el fin de obtener los nombres, apellidos y teléfono de la persona con id «1«.
🌟 ¡Visita Nuestra Tienda para Programadores! 🌟Descubre Códigos Fuente, Cursos, Software, Computadoras, Accesorios y Regalos Exclusivos. ¡Todo lo que necesitas para llevar tu programación al siguiente nivel!
Si abrimos nuestro archivo en el navegador, al ejecutar la consulta nos devolvería un resultado como este:
array(3) { [0]=> string(5) "MARIA" [1]=> string(4) "RUIZ" [2]=> string(10) "3002224411" }
Un arreglo numérico, en el cual podemos acceder a cada uno de los valores. Haciendo referencia al índice, ejemplo: printf($row[1]);
Ejemplo 2: Arreglo Asociativo
Al ejecutar el código anterior obtenemos el resultado formateado a manera de arreglo asociativo en Php, así:
array(3) { ["nombres"]=> string(5) "MARIA" ["apellidos"]=> string(4) "RUIZ" ["telefono"]=> string(10) "3002224411" }
Observamos que inclusive añade el tamaño de cada valor, pero ahora tenemos asociados un valor a cada uno de los atributos.
¿Pero cuando empieza el lío con mysqli_fetch_array?
Básicamente cuando no lo sabemos utilizar, puedes intentar verificando las siguientes situaciones para arreglar mysqli_fetch_array.
1. Mala escritura:
Esto es muy común en los programadores, revisa que no falte alguna letra, en tu bloque de código y que todo esté bien escrito.
Con este código obtenemos el anhelado error:
Fatal error: Call to undefined function mysqli_fecth_array() in C:\xampp3\htdocs\a\error\index.php on line 9
Si observamos la línea 9 tenemos un error de escritura: mysqli_fecth_array, siendo que la instrucción correcta es: mysql_fetch_array.
2. Mala escritura o forma de la consulta SQL
Los errores que tienen que ver con consultas al servidor MySQL son muy comunes, no son más que errores en los nombres de las columnas, o valores seteados, un ejemplo:
Observamos que hemos hecho un error adrede en la consulta SQL, omitiendo la letra «s«, en nombres, por lo tanto obtenemos:
Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in C:\xampp3\htdocs\a\error\index.php on line 10 NULL Warning: mysqli_free_result() expects parameter 1 to be mysqli_result, boolean given in C:\xampp3\htdocs\a\error\index.php on line 12
De esta manera puedes corregir el error mysqli_fetch_array en PHP, teniendo presente que tu proyecto debe enlazar todas sus partes haciendo referencia a los nombres exactos como fueron creados; esto aplica para variables, campos de la base de datos, tablas, bases de datos, etc.