Ayer y hoy durante toda la tarde me la he pasado reparando un código php (tal vez sencillo) el cual me dictaba error siempre cerca de la conexión a la base de datos, un error que resolví hace unos minutos. Pero avanzando con el código me resulta otro nuevo error. :-\
Una vez registrada la consulta MySQL y guardada la variable de result (resultado) se solicita que seleccione una tabla como elemento asociativo. He probado varios códigos pero no me funciona. El problema está en que no encuentro el código 'correcto' para las variables ya ejecutadas en el código.
<?php
session_start();
?>
<?php
$bd_host = ":::::::"; // Hosting (IP del servidor) ; Ejemplo: mysql.hostinger.es
$bd_usuario = "root"; // Usuario con los permisos root ; Ejemplo: u656089451_user
$bd_password = ""; // Contraseña del usuario ; Ejemplo: F96sd821a
$bd_base = "******";
$conexion = new mysqli($bd_host, $bd_usuario, $bd_password, $bd_base);
//CONVERTIMOS LOS VALORES
$usuarioingresado = $_POST["usuario"];
$passwordingresado = $_POST["password"];
$sql = "SELECT * FROM susuarios WHERE usuario='$usuarioingresado'";
$result = mysqli_query($conexion, $sql);
$result = $conexion -> query($sql);
//ACA RESIDE EL ERROR!!
$row = $result->fetch_array(MYSQLI_ASSOC);
//Muestra el siguiente error: Warning: mysql_fetch_array() expects at most 2 parameters, 3 given in /home/u558790442/public_html/megasups/funcionentrar.php on line 24
//Ahora verificamos que la contraseña ingresada sea la correcta
if (password_verify($passwordingresado, $row['password']))
//Si la contraseña es correcta
{
$_SESSION['loggedin'] = true;
$_SESSION['usuario'] = $usuario;
$_SESSION['loggedin'] = time();
$_SESSION['loggedin'] = $_SESSION['start']+(5*60);
echo "<font face='arial'>BIENVENIDO </font>".$_SESSION['usuario'];
echo "<br><br><a href=privado.php>Sección Exclusiva</a>";
}else{
echo "<font face='arial' color='arial'><b>Usuario o Password incorrectos!<b></font><br>";
echo "<font face='arial'>Estás seguro que te llamas <b><i>$usuarioingresado</i></b>?</font>";
}
mysqli_close($conexion);
?>
No creo tener más tiempo para seguir testeando (y creo menos, cuando sé que existe una solución). Sólo necesito el código correcto que necesita el código (LogIn, que valida el usuario/password) para funcionar.
PD: Ya he buscado en phpost.net y varias páginas web las cuales grafican diferentes tipos de código.
:-( :-( :-(
usa fetch_assoc
http://php.net/manual/es/class.mysqli-result.php (http://php.net/manual/es/class.mysqli-result.php)
Cita de: engel lex en 21 Septiembre 2016, 02:47 AM
usa fetch_assoc
http://php.net/manual/es/class.mysqli-result.php (http://php.net/manual/es/class.mysqli-result.php)
$sql = "SELECT * FROM susuarios WHERE usuario='$usuarioingresado'";
$result = mysqli_query($conexion, $sql);
$result = $conexion -> query($sql);
$row = mysql_fetch_assoc($result);
Warning: mysql_fetch_assoc() expects parameter 1 to be resource, object given in /home/u558790442/public_html/megasups/funcionentrar.php on line 22¿Qué otro parámetro me falta? Lo intenté con la variable $sql y $conexion...
Estás mezclando las extensiones MySQL y mysqli
Te pasé la pagina de la documentación para que vieras las opciones y su uso...
En hecho no habia visto bien... tratas de abrir una conexión usando el comando de query... no tiene sentido, recomiendo que entres a PHP.net (http://www.php.net/mysqli_query) y veas los ejemplos