Mysqli_fetch_assoc

Tengo problemas con la funcion… mysqli_fetch_assoc(); cuando lo hago en pc con mi servidor local no me da errores, pero al momento de subirlo a 000webhost me sale error: Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, boolean given in.
Alguien me puede ayudar a resolver el problema :frowning:

Can you please post your code here? :slight_smile:

<?php
    
    $Alumno = $_GET['Alumno'];
	$mysqli=new mysqli("localhost", "id7*****", "**********", "id7**********");
	if(mysqli_connect_errno()){echo 'Conexion Fallida : ', mysqli_connect_error();exit();}
	$query="SELECT *  FROM alumnos WHERE nombres_completos = '$Alumno'";
	$resultado=$mysqli->query($query);
	?>
		<form name="miformulario" action="conectar.php" method="post">
		<?php while($row=mysqli_fetch_assoc($resultado)){ ?>   
		
			<tr><td> ALUMNO &nbsp;:&nbsp;&nbsp;
				<input type="text" name="v_alumno" readonly="readonly" value="<?php echo $row['nombres_completos'];?>"/></td></tr>
			<tr><td> GRADO SECCION &nbsp;&nbsp;&nbsp;:&nbsp;&nbsp;
				<input type="text" name="v_grado" readonly="readonly" value="<?php echo $row['grado_seccion'];?>"></td></tr>
			<tr><td> NIVEL &nbsp;&nbsp;&nbsp;:&nbsp;&nbsp;
				<input type="text" name="v_nivel" readonly="readonly" value="<?php echo $row['nivel'];?>"></td></tr>
		<?php } 
		?>
</table>
	<input type="submit" name="boton" value="Validar">
	</form>

Though I do not encourage the use of normal mysqli queries, what I can say is that your query is failing somewhere :slight_smile:

Well I’m not very good with php, just that it’s for a school task, I’ll keep trying. :sweat_smile::sweat_smile:

1 Like

What is the value you are giving to $_GET[‘Alumno’] ?

is a query, I have a href that sends a value

example: https://**********.000webhostapp.com/select.php?Alumno=CASTILLO GOMEZ ESTEBAN MERCEDES

How would you do it ? :soñoliento: :soñoliento:

I apologize for so much question but it is for my school. :sweat_smile:

@jota el error esta en que te esta devolviendo un valor FALSE tu consulta.

Realiza un var_dump de tu variable $Alumno, y verifica que te este devolviendo el valor correcto. Por que la consulta te esta devolviendo un valor FALSE.

Escapa tu variable, eso podria solucionar el problema:

$Alumno= $mysqli->real_escape_string($_GET['Alumno']);

Y pasa este codigo luego de tu $resultado para capturar el error.

if ($mysqli->error) {
try {    
    throw new Exception("MySQL error $mysqli->error <br> Query:<br> $query", $msqli->errno);    
} catch(Exception $e ) {
    echo "Error No: ".$e->getCode(). " - ". $e->getMessage() . "<br >";
}
}

Recuerda siempre liberar la memoria a lo que terminas y cerrar la conexion y es una buena practica escapar las variables para evitar Injection SQL:

//Liberar memoria 
$resultado->close();

//Cerrar la conexion
$mysqli->close();

Documentacion Importante: