Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: Macky25 en 20 Septiembre 2016, 23:31 pm



Título: Problema con mysql_fetch_array
Publicado por: Macky25 en 20 Septiembre 2016, 23:31 pm
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.

Código
  1. <?php
  2. ?>
  3.  
  4. <?php
  5.  
  6. $bd_host = ":::::::"; // Hosting (IP del servidor) ; Ejemplo: mysql.hostinger.es
  7. $bd_usuario = "root"; // Usuario con los permisos root ; Ejemplo: u656089451_user
  8. $bd_password = ""; // Contraseña del usuario ; Ejemplo: F96sd821a
  9. $bd_base = "******";
  10. $conexion = new mysqli($bd_host, $bd_usuario, $bd_password, $bd_base);
  11.  
  12. //CONVERTIMOS LOS VALORES
  13. $usuarioingresado = $_POST["usuario"];
  14. $passwordingresado = $_POST["password"];
  15.  
  16.  
  17. $sql = "SELECT * FROM susuarios WHERE usuario='$usuarioingresado'";
  18. $result = mysqli_query($conexion, $sql);
  19. $result = $conexion -> query($sql);
  20.  
  21.  
  22.         //ACA RESIDE EL ERROR!!
  23. $row = $result->fetch_array(MYSQLI_ASSOC);
  24.        //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
  25.  
  26.  
  27.  
  28. //Ahora verificamos que la contraseña ingresada sea la correcta
  29. if (password_verify($passwordingresado, $row['password']))
  30. //Si la contraseña es correcta
  31. {
  32. $_SESSION['loggedin'] = true;
  33. $_SESSION['usuario'] = $usuario;
  34. $_SESSION['loggedin'] = time();
  35. $_SESSION['loggedin'] = $_SESSION['start']+(5*60);
  36.  
  37. echo "<font face='arial'>BIENVENIDO </font>".$_SESSION['usuario'];
  38.   echo "<br><br><a href=privado.php>Sección Exclusiva</a>";
  39. }else{
  40. echo "<font face='arial' color='arial'><b>Usuario o Password incorrectos!<b></font><br>";
  41. echo "<font face='arial'>Est&aacute;s seguro que te llamas <b><i>$usuarioingresado</i></b>?</font>";
  42. }
  43.  
  44. mysqli_close($conexion);
  45. ?>
  46.  

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.

 :-(  :-(  :-(


Título: Re: Problema con mysql_fetch_array
Publicado por: 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)


Título: Re: Problema con mysql_fetch_array
Publicado por: Macky25 en 21 Septiembre 2016, 14:05 pm
usa fetch_assoc

http://php.net/manual/es/class.mysqli-result.php (http://php.net/manual/es/class.mysqli-result.php)

Código
  1. $sql = "SELECT * FROM susuarios WHERE usuario='$usuarioingresado'";
  2. $result = mysqli_query($conexion, $sql);
  3. $result = $conexion -> query($sql);
  4.  
  5. $row = mysql_fetch_assoc($result);
  6.  

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...


Título: Re: Problema con mysql_fetch_array
Publicado por: engel lex en 21 Septiembre 2016, 15:45 pm
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