PHP - Error con mysqli_fetch_array

 
Vista:
sin imagen de perfil

Error con mysqli_fetch_array

Publicado por fernando (10 intervenciones) el 04/12/2017 04:44:55
Hola a todos. Cuando corro el siguiente código me da el siguiente error: mysqli_fetch_array() expects parameter 1 to be mysqli_result,

Sin embargo, cuando en lugar de utilizar mysqli_fetch_array utilizo la línea que aparece en negritas como comentario entonces sí muestra los registros, eso quiere decir que no hay error en la consulta o en la conexión. Alguien detecta el error? Muchas gracias.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
if(isset($_POST['sub_consulta']))
{
	$clave=$_POST['clave'];
 
	$obj=new carrera_mod;
	$datos=$obj->consulta_carrera($clave);
 
 
	while ($registro=mysqli_fetch_array($datos))
	 //foreach ($datos as $registro) 
	{
 
		echo $registro["idcarrera"];
		echo $registro["nombrecarrera"];
	}
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de abzerox
Val: 575
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Error con mysqli_fetch_array

Publicado por abzerox (157 intervenciones) el 04/12/2017 05:27:53
Hola, lo que el mensaje indica es que mysqli_fetch_array espera recibir como primer parametro es un objeto del tipo mysqli_result.
Desconosco la implementación del método consulta_carrera pero supongo que este esta devolviendo un Array, ya que como tu comentas puedes iterarlo usando foreach.
Si puedes comparte la sección del código del método consulta_carrera.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Error con mysqli_fetch_array

Publicado por fernando (10 intervenciones) el 04/12/2017 15:27:15
Hola, gracias por contestar...la función que está devolviendo los datos es ésta:


1
2
3
4
5
6
7
8
9
10
11
12
13
function consulta_carrera($clave)
{
	require_once ('../config/conexion.php');
 
	$sql="SELECT * FROM carrera";
 
	$this->db=Conectar::conexion();
 
	$this->array=$this->db->query($sql);
 
	return $this->array;
 
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de abzerox
Val: 575
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Error con mysqli_fetch_array

Publicado por abzerox (157 intervenciones) el 05/12/2017 00:45:07
Hola, no es necesario que hacer
1
return $this->array
, simplemente luego de llamar a el método consulta_carrera, puedes acceder a la propiedad array ya que tienes un instancia creada.



1
2
3
4
5
6
7
8
9
10
11
if(isset($_POST['sub_consulta'])) {
	$clave=$_POST['clave'];
	$obj=new carrera_mod;
	$obj->consulta_carrera($clave);
 
	while ($registro=mysqli_fetch_array($obj->array)) {
	    echo $registro["idcarrera"];
	    echo $registro["nombrecarrera"];
	}
 
}


1
2
3
4
5
6
7
function consulta_carrera($clave) {
	require_once ('../config/conexion.php');
	$sql="SELECT * FROM carrera";
	$this->db=Conectar::conexion();
	$this->array=$this->db->query($sql);
	return $this->array;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
sin imagen de perfil

Error con mysqli_fetch_array

Publicado por fernando (10 intervenciones) el 05/12/2017 00:46:50
Ya funciona, muchas gracias!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar