Foros del Web » Programando para Internet » PHP »

Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given in

Estas en el tema de Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given in en el foro de PHP en Foros del Web. Hola tengo un problema con msqli que me da error al logiarme en la pagina que hice este es el error Warning: mysqli_num_rows() expects parameter ...
  #1 (permalink)  
Antiguo 03/04/2016, 09:48
 
Fecha de Ingreso: abril-2016
Mensajes: 7
Antigüedad: 6 años, 3 meses
Puntos: 0
Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given in

Hola tengo un problema con msqli que me da error al logiarme en la pagina que hice
este es el error
Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given in /home/ on line 10
y este es el codigo
Código PHP:
Ver original
  1. <?php
  2.  
  3. $user = $_POST['nom'];
  4. $pass = $_POST['pas1'];
  5. $contra = md5($pass);
  6. $conexion = mysqli_connect("mysql.hostinger.com.ar","u550168560_mateo","mateof00","u550168560_login") or die("Error al conectar");
  7.  
  8. //$sql = "SELECT `id` FROM `user` WHERE `username`=='$user' AND `password`=='$pass'";
  9. $result = mysqli_query($conexion, "SELECT `id` FROM `wisher` WHERE `username` = '".$user."' AND `password` = '".$pass."'");
  10. if(mysqli_num_rows($result) > 0)
  11. {
  12.  
  13. echo "Logueado";
  14.  
  15. }
  16. else {
  17.  
  18. echo "Error al Loguear";
  19.  
  20. }
  21. mysqli_close($conexion);
  22.  
  23. ?>
  #2 (permalink)  
Antiguo 03/04/2016, 11:37
 
Fecha de Ingreso: diciembre-2015
Mensajes: 529
Antigüedad: 6 años, 6 meses
Puntos: 39
Respuesta: Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolea

La consulta te debe de generar algún error, prueba intentado quitar estos caracteres: ` quedando solo así por ejemplo: SELECT id.

De todos modos, puedes imprimir el error que te devuelva.

Código PHP:
Ver original
  1. $result = mysqli_query($conexion, "SELECT `id` FROM `wisher` WHERE `username` = '".$user."' AND `password` = '".$pass."'");
  2.  
  3. if(!$result){
  4.   echo mysqli_error($conexion);
  5. }
  #3 (permalink)  
Antiguo 03/04/2016, 13:29
 
Fecha de Ingreso: abril-2016
Mensajes: 7
Antigüedad: 6 años, 3 meses
Puntos: 0
Respuesta: Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolea

Cita:
Iniciado por rodocoyote15 Ver Mensaje
La consulta te debe de generar algún error, prueba intentado quitar estos caracteres: ` quedando solo así por ejemplo: SELECT id.

De todos modos, puedes imprimir el error que te devuelva.

Código PHP:
Ver original
  1. $result = mysqli_query($conexion, "SELECT `id` FROM `wisher` WHERE `username` = '".$user."' AND `password` = '".$pass."'");
  2.  
  3. if(!$result){
  4.   echo mysqli_error($conexion);
  5. }
Gracias me aprecio el error que no encontraba la columa usermane pero cuando lo cambio devuelta al otro cambiando el error e sigue apareciendo el error de esta parte
Código PHP:
Ver original
  1. if(mysqli_num_rows($result) > 0)
  2. {
  3.  
  4. echo "Logueado";
  5.  
  6. }
  7. else {
  8.  
  9. echo "Error al Loguear";
  10.  
  11. }
  12. mysqli_close($conexion);
  13.  
  14. ?>
  #4 (permalink)  
Antiguo 03/04/2016, 13:32
 
Fecha de Ingreso: diciembre-2015
Mensajes: 529
Antigüedad: 6 años, 6 meses
Puntos: 39
Respuesta: Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolea

El hecho de imprimir el error no significa que solito se haya arreglado.

una vez que te dijo que no encontraba la tabla, arreglaste el problema del nombre? Si es así, vuelve a ejecutar el código que te di para ver qué error te sigue saliendo.
Como sugerencia, prueba antes en tu smbd las sentencias que usarás en tu código.
  #5 (permalink)  
Antiguo 03/04/2016, 13:37
 
Fecha de Ingreso: abril-2016
Mensajes: 7
Antigüedad: 6 años, 3 meses
Puntos: 0
Respuesta: Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolea

Cita:
Iniciado por rodocoyote15 Ver Mensaje
El hecho de imprimir el error no significa que solito se haya arreglado.

una vez que te dijo que no encontraba la tabla, arreglaste el problema del nombre? Si es así, vuelve a ejecutar el código que te di para ver qué error te sigue saliendo.
Como sugerencia, prueba antes en tu smbd las sentencias que usarás en tu código.
si arregle el nombre de la tabla ,no me aparece nada osea que el error esta en el mysqli_num_rows
  #6 (permalink)  
Antiguo 03/04/2016, 13:51
 
Fecha de Ingreso: diciembre-2015
Mensajes: 529
Antigüedad: 6 años, 6 meses
Puntos: 39
Respuesta: Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolea

No es así, mysqli_num_rows le estás dando un booleano, en este caso porque la consulta falló, entonces mysqli_num_rows también falla. Vuelve a revisar tu consulta, ejecutala en tu smbd te repito.

Código PHP:
Ver original
  1. $result = mysqli_query($conexion, "SELECT `id` FROM `wisher` WHERE `username` = '".$user."' AND `password` = '".$pass."'");
  2. if($result){
  3.    if(mysqli_num_rows($result) > 0) {
  4.       echo "Logueado";
  5.    }
  6.    else {
  7.       echo "Error al Loguear";
  8.    }
  9. }else{
  10. echo  "Problemas en la query:" . mysqli_error($conexion);
  11. }
  12. mysqli_close($conexion);

Prueba esto.
  #7 (permalink)  
Antiguo 03/04/2016, 14:01
 
Fecha de Ingreso: abril-2016
Mensajes: 7
Antigüedad: 6 años, 3 meses
Puntos: 0
Respuesta: Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolea

Cita:
Iniciado por rodocoyote15 Ver Mensaje
No es así, mysqli_num_rows le estás dando un booleano, en este caso porque la consulta falló, entonces mysqli_num_rows también falla. Vuelve a revisar tu consulta, ejecutala en tu smbd te repito.

Código PHP:
Ver original
  1. $result = mysqli_query($conexion, "SELECT `id` FROM `wisher` WHERE `username` = '".$user."' AND `password` = '".$pass."'");
  2. if($result){
  3.    if(mysqli_num_rows($result) > 0) {
  4.       echo "Logueado";
  5.    }
  6.    else {
  7.       echo "Error al Loguear";
  8.    }
  9. }else{
  10. echo  "Problemas en la query:" . mysqli_error($conexion);
  11. }
  12. mysqli_close($conexion);

Prueba esto.
Me aparece esto
Warning: mysqli_query(): Couldn't fetch mysqli in /home... on line 22

Warning: mysqli_error(): Couldn't fetch mysqli in /home... on line 31
Problemas en la query:
Warning: mysqli_close(): Couldn't fetch mysqli in /home... on line 33

en la parte que conecta a la
Código PHP:
Ver original
  1. <?php
  2.  
  3. $user = $_POST['nom'];
  4. $pass = $_POST['pas1'];
  5. $contra = md5($pass);
  6. $conexion = mysqli_connect("","","","") or die("Error al conectar");
  7.  
  8. //$sql = "SELECT `id` FROM `user` WHERE `username`=='$user' AND `password`=='$pass'";
  9. //$result = mysqli_query($conexion, "SELECT `id` FROM `wisher` WHERE `usuario` = '".$user."' AND `password` = '".$pass."'");
  10. //if(mysqli_num_rows($result) == 0)
  11. //{
  12.  
  13. //echo "Error al Loguear";
  14.  
  15. //}
  16. //else {
  17.  
  18. //echo "Logeado";
  19.  
  20. //}
  21. mysqli_close($conexion);
  22. $result = mysqli_query($conexion, "SELECT `id` FROM `wisher` WHERE `usuario` = '".$user."' AND `password` = '".$pass."'");
  23. if($result){
  24.    if(mysqli_num_rows($result) > 0) {
  25.       echo "Logueado";
  26.    }
  27.    else {
  28.       echo "Error al Loguear";
  29.    }
  30. }else{
  31. echo  "Problemas en la query:" . mysqli_error($conexion);
  32. }
  33. mysqli_close($conexion);
  34. ?>
  #8 (permalink)  
Antiguo 03/04/2016, 14:06
 
Fecha de Ingreso: diciembre-2015
Mensajes: 529
Antigüedad: 6 años, 6 meses
Puntos: 39
Respuesta: Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolea

Cierras la conexión antes de hacer la consulta, comenta también la línea 21 y vuelve a ejecutar.
  #9 (permalink)  
Antiguo 03/04/2016, 14:20
 
Fecha de Ingreso: enero-2016
Mensajes: 63
Antigüedad: 6 años, 5 meses
Puntos: 0
Respuesta: Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolea

prueba haci :

$user = $_POST['nom'];
$pass = $_POST['pas1'];
$contra = md5($pass);
$conexion = mysqli_connect("localhost","root","") or die("Error al conectar");
mysqli_select_db($conexion,"nombre_de_la_base_de_d atos");

$result = mysqli_query($conexion, "SELECT `id` FROM `wisher` WHERE `usuario` = '".$user."' AND `password` = '".$pass."'");

$ejecutar_consulta=mysqli_query($conexion,$result) ;

if($ejecutar_consulta){
if(mysqli_num_rows($ejecutar_consulta) > 0) {
echo "Logueado";
}
else {
echo "Error al Loguear";
}
}else{
echo "Problemas en la query:" . mysqli_error($conexion);
}
mysqli_close($conexion);
  #10 (permalink)  
Antiguo 03/04/2016, 14:26
 
Fecha de Ingreso: diciembre-2015
Mensajes: 529
Antigüedad: 6 años, 6 meses
Puntos: 39
Respuesta: Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolea

Andrinson, siguiendo tu ejemplo, $result debería contener solo la cadena de la consulta a ejecutar. Estás anidando las consultas, cosa que resultará en un error
  #11 (permalink)  
Antiguo 03/04/2016, 17:56
 
Fecha de Ingreso: abril-2016
Mensajes: 7
Antigüedad: 6 años, 3 meses
Puntos: 0
Respuesta: Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolea

Cita:
Iniciado por rodocoyote15 Ver Mensaje
Cierras la conexión antes de hacer la consulta, comenta también la línea 21 y vuelve a ejecutar.
no me dice error al loguearme con cualquier usuario y contraseña pongo los usuarios que tengo en la base de datos y nada
  #12 (permalink)  
Antiguo 03/04/2016, 18:00
 
Fecha de Ingreso: diciembre-2015
Mensajes: 529
Antigüedad: 6 años, 6 meses
Puntos: 39
Respuesta: Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolea

Entonces ya no hay ningún problema a nivel de sintaxis. Haz realizado una prueba con valores de prueba? Ya que veo que encriptas con md5, y probablemente por ahí este el error no sé.
  #13 (permalink)  
Antiguo 03/04/2016, 19:37
 
Fecha de Ingreso: abril-2016
Mensajes: 7
Antigüedad: 6 años, 3 meses
Puntos: 0
Respuesta: Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolea

Cita:
Iniciado por rodocoyote15 Ver Mensaje
Entonces ya no hay ningún problema a nivel de sintaxis. Haz realizado una prueba con valores de prueba? Ya que veo que encriptas con md5, y probablemente por ahí este el error no sé.
mmmm lo veo pero igual creo que no estoy usando la variable $contra sino que uso la variable $pass1 creo pero sino lo saco
  #14 (permalink)  
Antiguo 03/04/2016, 19:45
Avatar de vb2005  
Fecha de Ingreso: noviembre-2005
Ubicación: Paderborn - Alemania
Mensajes: 557
Antigüedad: 16 años, 7 meses
Puntos: 24
Respuesta: Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolea

Disculpa que no tenga mucho que ver con la respuesta pero nunca pases input de los usuarios sin procesar a la consulta SQL es uno de los problemas más basicos de seguridad que se pueden fabricar.
__________________
www.marcher.com.uy - Web personal
Nerd's Corner - Desarrollo de software a medida

Etiquetas: boolean, expects, mysql, parameter, select, sql, warning
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:18.