Foros del Web » Programando para Internet » PHP »

Warning: mysql_num_rows() expects parameter 1 to be resource, boolean

Estas en el tema de Warning: mysql_num_rows() expects parameter 1 to be resource, boolean en el foro de PHP en Foros del Web. Hola buenas, estoy armando una pagina de login y cuando subo el archivo me sale este error Warning: mysql_num_rows() expects parameter 1 to be resource, ...
  #1 (permalink)  
Antiguo 12/10/2012, 13:22
 
Fecha de Ingreso: agosto-2008
Mensajes: 97
Antigüedad: 15 años, 8 meses
Puntos: 1
Warning: mysql_num_rows() expects parameter 1 to be resource, boolean

Hola buenas, estoy armando una pagina de login y cuando subo el archivo me sale este error Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\wamp\www\aleara\checklogin.php on line 35.
Si alguien me puede dar una mano mas que agradecido. Saludos.

Código PHP:
<?php

$host
="localhost"
$username="localhost";
//$password="";   
$db_name="test"
$tbl_name="usuarios"




mysql_connect("$host""$username")or die("cannot connect"); 
mysql_select_db("$db_name")or die("cannot select DB");




$myusername=$_POST['cuit']; 
$mypassword=$_POST['password']; 




$myusername stripslashes($myusername);
$mypassword stripslashes($mypassword);
$myusername mysql_real_escape_string($myusername);
$mypassword mysql_real_escape_string($mypassword);

$sql="SELECT cuit,password FROM $tbl_name WHERE cuit='.$myusername.' and password='.$mypassword.'";
$result=mysql_query($sql);




$count=mysql_num_rows($result);



if(
$count==1){


session_register("cuit");
session_register("password"); 
header("location:login_success.php");
}
else {
echo 
"Usuario o Password Incorrectos";
}
?>
  #2 (permalink)  
Antiguo 12/10/2012, 13:28
Avatar de Javier01  
Fecha de Ingreso: febrero-2008
Ubicación: Montevideo
Mensajes: 261
Antigüedad: 16 años, 2 meses
Puntos: 31
Respuesta: Warning: mysql_num_rows() expects parameter 1 to be resource, boolean

Buenas,

debes de sacar los puntos entre la variable myusername y la variable mypassword en la consulta.

Código PHP:
Ver original
  1. $sql="SELECT cuit,password FROM $tbl_name WHERE cuit='$myusername' and password='$mypassword'";

Saludos
__________________
Tomarse un tiempo para redactar correctamente la pregunta, utilizando los signos de puntuación adecuados, es ganar tiempo y calidad en la respuesta.
  #3 (permalink)  
Antiguo 12/10/2012, 14:00
 
Fecha de Ingreso: agosto-2008
Mensajes: 97
Antigüedad: 15 años, 8 meses
Puntos: 1
Respuesta: Warning: mysql_num_rows() expects parameter 1 to be resource, boolean

Cita:
Iniciado por Javier01 Ver Mensaje
Buenas,

debes de sacar los puntos entre la variable myusername y la variable mypassword en la consulta.

Código PHP:
Ver original
  1. $sql="SELECT cuit,password FROM $tbl_name WHERE cuit='$myusername' and password='$mypassword'";

Saludos
Hola Javier, ya lo modifique quedo asi
Código PHP:
$sql="SELECT cuit,password FROM $tbl_name WHERE cuit='$myusername' and password='$mypassword'"
Y sigue con el mismo error.
La linea 35 es esta:
Código PHP:
$count=mysql_num_rows($result); 
Saludos y Gracias por el tiempo.
  #4 (permalink)  
Antiguo 12/10/2012, 14:18
Avatar de Javier01  
Fecha de Ingreso: febrero-2008
Ubicación: Montevideo
Mensajes: 261
Antigüedad: 16 años, 2 meses
Puntos: 31
Respuesta: Warning: mysql_num_rows() expects parameter 1 to be resource, boolean

El error indicado, aparece cuando hay un error en la consulta. Por esta razón $result queda vacío, y da error la función mysql_num_rows
que debe recibir un parámetro y no recibe nada

Prueba haciendo un echo $sql; debajo de la consulta, para ver el texto de la consulta, y luego ejecuta eso directamente en la BD
__________________
Tomarse un tiempo para redactar correctamente la pregunta, utilizando los signos de puntuación adecuados, es ganar tiempo y calidad en la respuesta.
  #5 (permalink)  
Antiguo 12/10/2012, 14:36
 
Fecha de Ingreso: mayo-2012
Mensajes: 26
Antigüedad: 11 años, 11 meses
Puntos: 2
Respuesta: Warning: mysql_num_rows() expects parameter 1 to be resource, boolean

hola chelo,

haz asi tu consulta

Código PHP:
Ver original
  1. $sql="SELECT cuit,password FROM ".$tbl_name." WHERE cuit=".$myusername." and password=".$mypassword;

el error es justamente por lo ultimo q dice javier, es q no se estan pasando bien los datos para realizar la consulta, prueba a hacer un echo antes del if, y veras q lo que se esta pasando al servidor.

Código PHP:
Ver original
  1. echo $sql;

otro cosa q puede ser es q no esten escritos bien los nombres de las columnas, minusculas, mayusculas, pero prueba con el "echo" y sabras cual es la causa. saludos
  #6 (permalink)  
Antiguo 12/10/2012, 15:50
 
Fecha de Ingreso: octubre-2009
Mensajes: 48
Antigüedad: 14 años, 6 meses
Puntos: 2
Respuesta: Warning: mysql_num_rows() expects parameter 1 to be resource, boolean

la recomendacion de markos22 es muy buena yo la uso cuando tengo este tipo de lios, le doy echo a mi consulta la copio y la pego en phpmyadmin o cualquiero otro tipo donde pueda hacer uso de la consulta para ver que funcione...
  #7 (permalink)  
Antiguo 13/10/2012, 01:02
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años
Puntos: 406
Respuesta: Warning: mysql_num_rows() expects parameter 1 to be resource, boolean

o.O para eso existe mysql_error, el cual debe usarse SIEMPRE, después de hacer una conexión, seleccionar una base de datos o enviar una consulta SQL, porque si no, depurar consultas SQL puede ser un terrible dolor de cabeza...

Ejemplo:
Código PHP:
Ver original
  1. $sql = 'SELECT * FROM mitabla';
  2. $result = mysql_query($sql,$conexion) or die(mysql_error());
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)

Etiquetas: boolean, expects, mysql, parameter, resource, sql, warning, usuarios
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 12:23.