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
Can you please post your code here?
<?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 :
<input type="text" name="v_alumno" readonly="readonly" value="<?php echo $row['nombres_completos'];?>"/></td></tr>
<tr><td> GRADO SECCION :
<input type="text" name="v_grado" readonly="readonly" value="<?php echo $row['grado_seccion'];?>"></td></tr>
<tr><td> NIVEL :
<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
Well I’m not very good with php, just that it’s for a school task, I’ll keep trying.
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.
@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: