Foros del Web » Programando para Internet » PHP »

problema con mysql_num_rows

Estas en el tema de problema con mysql_num_rows en el foro de PHP en Foros del Web. Buenas, tengo problemas con mysql_num_rows Este es el error que me da Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource im C:\... ...
  #1 (permalink)  
Antiguo 16/06/2008, 09:03
 
Fecha de Ingreso: abril-2008
Mensajes: 17
Antigüedad: 16 años
Puntos: 0
problema con mysql_num_rows

Buenas, tengo problemas con mysql_num_rows
Este es el error que me da

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource im C:\... on line 12

<?php
session_start();
include("conectar.php");
/* Script que recibe las variables de la pagina anterior*/
$tb_nombre="usuario";
$usuario1=$_POST['user'];
$password1=$_POST['password'];
$sql="Select * from $tb_nombre where rut='$usuario1' and password='$password1'";
conectar();
$result=mysql_query($sql);
desconectar();
$cont=mysql_num_rows($result);
if($cont>0){
$id_usuario=mysql_result($result,0,"rut");
$nombre=mysql_result($result,0,"nombre");
$apellido=mysql_result($result,0,"apellidos");
$id_perfil=mysql_result($result,0,"tipo_cod");
//se registra los datos del usuario en la SESION
$_SESSION['log_in']=true;
$_SESSION['s_id_usuario']=$id_usuario;
$_SESSION['s_nombre']=$nombre;
$_SESSION['s_apellido']=$apellido;
$_SESSION['s_id_perfil']=$id_perfil;
switch($id_perfil){
case "1":{ header("location:./principal.php");
break;
}
//se abre sesion administrador
default;
break;
}
}
?>

Si alguien me dice que es lo que pasa lo agradeceria
  #2 (permalink)  
Antiguo 16/06/2008, 09:08
 
Fecha de Ingreso: febrero-2007
Ubicación: Santiago, Chile
Mensajes: 53
Antigüedad: 17 años, 2 meses
Puntos: 1
Respuesta: problema con mysql_num_rows

Lo que debe estar pasando es que tu sentencia SQL está dando error.

Haz lo siguiente y te podremos ayudar:

Justo después de $sql=....; haz:

die($sql."<br />".mysql_error());

Así sabremos que error tienes. La unica forma en la que te debe estar dando error es que tu consulta esté con problemas.
  #3 (permalink)  
Antiguo 16/06/2008, 09:36
 
Fecha de Ingreso: abril-2008
Mensajes: 17
Antigüedad: 16 años
Puntos: 0
Respuesta: problema con mysql_num_rows

Parse error:sintax error, unexpected T_STRING in c:\...
  #4 (permalink)  
Antiguo 16/06/2008, 09:40
 
Fecha de Ingreso: febrero-2007
Ubicación: Santiago, Chile
Mensajes: 53
Antigüedad: 17 años, 2 meses
Puntos: 1
Respuesta: problema con mysql_num_rows

te faltó mostrarnos la línea SQL.... sólo pusiste el error que arroja mysql
  #5 (permalink)  
Antiguo 16/06/2008, 09:48
 
Fecha de Ingreso: abril-2008
Mensajes: 17
Antigüedad: 16 años
Puntos: 0
Respuesta: problema con mysql_num_rows

$sql="Select * from $tb_nombre where rut='$usuario1' and password='$password1'";
  #6 (permalink)  
Antiguo 16/06/2008, 09:51
 
Fecha de Ingreso: junio-2008
Mensajes: 30
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: problema con mysql_num_rows

creo que el problema esta en que, te desconectas antes del num_rows prueba esste a ver:

Código PHP:
     
problema con mysql_num_rows
Buenas, tengo problemas con mysql_num_rows
Este es el error que me da

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource im C:\... on line 12

<?php
session_start
();
include(
"conectar.php");
/* Script que recibe las variables de la pagina anterior*/
$tb_nombre="usuario";
$usuario1=$_POST['user'];
$password1=$_POST['password'];
$sql="Select * from $tb_nombre where rut='$usuario1' and password='$password1'";
conectar();
$result=mysql_query($sql);
$cont=mysql_num_rows($result);
if(
$cont>0){
$id_usuario=mysql_result($result,0,"rut");
$nombre=mysql_result($result,0,"nombre");
$apellido=mysql_result($result,0,"apellidos");
$id_perfil=mysql_result($result,0,"tipo_cod");
//se registra los datos del usuario en la SESION
desconectar();
$_SESSION['log_in']=true;
$_SESSION['s_id_usuario']=$id_usuario;
$_SESSION['s_nombre']=$nombre;
$_SESSION['s_apellido']=$apellido;
$_SESSION['s_id_perfil']=$id_perfil;
switch(
$id_perfil){
case 
"1":{ header("location:./principal.php");
break;
}
//se abre sesion administrador
default;
break;
}
}
?>
  #7 (permalink)  
Antiguo 16/06/2008, 09:54
 
Fecha de Ingreso: febrero-2007
Ubicación: Santiago, Chile
Mensajes: 53
Antigüedad: 17 años, 2 meses
Puntos: 1
Respuesta: problema con mysql_num_rows

Cita:
Iniciado por JICM24 Ver Mensaje
$sql="Select * from $tb_nombre where rut='$usuario1' and password='$password1'";
nopes.. esa es línea de código.. yo quiero que imprimas y nos mandes la linea $sql tal como la estás consultando, con los valores $tb_nombre, y las demás ya insertados.. imprime: echo $sql; luego de la líea del $sql y la pones acá. Estoy casi completamente seguro que está ahí el problema.
  #8 (permalink)  
Antiguo 16/06/2008, 09:58
 
Fecha de Ingreso: abril-2008
Mensajes: 17
Antigüedad: 16 años
Puntos: 0
Respuesta: problema con mysql_num_rows

cristiansantana tienes telefono yo soy de curico, tal vez por telefono me des las instrucciones si puedes
  #9 (permalink)  
Antiguo 16/06/2008, 10:01
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: problema con mysql_num_rows

el FORO es de carácter publico... si alguien te ayuda personalmente se pierde la ayuda general que ofrece el foro, como debe ser.... es preciso poner aquí la solución, cero de email, telefonos, etc... (sino a nadie le serviría)

gracias!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #10 (permalink)  
Antiguo 16/06/2008, 10:05
 
Fecha de Ingreso: febrero-2007
Ubicación: Santiago, Chile
Mensajes: 53
Antigüedad: 17 años, 2 meses
Puntos: 1
Respuesta: problema con mysql_num_rows

Sí amigo, la idea es que las discuciones, problemas y soluciones queden disponibles para toda la comunidad. A ver si te ayuda esto:

reemplaza tu codigo con:

<?php
session_start();
include("conectar.php");
/* Script que recibe las variables de la pagina anterior*/
$tb_nombre="usuario";
$usuario1=$_POST['user'];
$password1=$_POST['password'];
$sql="Select * from $tb_nombre where rut='$usuario1' and password='$password1'";
die($sql);
conectar();
$result=mysql_query($sql);
desconectar();
$cont=mysql_num_rows($result);
if($cont>0){
$id_usuario=mysql_result($result,0,"rut");
$nombre=mysql_result($result,0,"nombre");
$apellido=mysql_result($result,0,"apellidos");
$id_perfil=mysql_result($result,0,"tipo_cod");
//se registra los datos del usuario en la SESION
$_SESSION['log_in']=true;
$_SESSION['s_id_usuario']=$id_usuario;
$_SESSION['s_nombre']=$nombre;
$_SESSION['s_apellido']=$apellido;
$_SESSION['s_id_perfil']=$id_perfil;
switch($id_perfil){
case "1":{ header("location:./principal.php");
break;
}
//se abre sesion administrador
default;
break;
}
}
?>

eso sólo debería imprimir lo que estoy pidiéndote y nada más. Envíame eso por favor.
  #11 (permalink)  
Antiguo 16/06/2008, 10:09
Avatar de Monimo  
Fecha de Ingreso: noviembre-2007
Ubicación: Mexico Df
Mensajes: 742
Antigüedad: 16 años, 5 meses
Puntos: 69
Respuesta: problema con mysql_num_rows

oara no meterte en problemas de sql y la sintaxis cambia esta linea

Código PHP:
$sql="Select * from $tb_nombre where rut='$usuario1' and password='$password1'"
por esta:
Código PHP:
$sql="Select * from ".$tb_nombre." where rut='".$usuario1."' and password='".$password1."'"
y si quitaste la liea de "desconectar();"??
  #12 (permalink)  
Antiguo 16/06/2008, 10:16
 
Fecha de Ingreso: abril-2008
Mensajes: 17
Antigüedad: 16 años
Puntos: 0
Respuesta: problema con mysql_num_rows

select * from usuario where rut='15.131.706-5' and password='1'
  #13 (permalink)  
Antiguo 16/06/2008, 10:36
 
Fecha de Ingreso: febrero-2007
Ubicación: Santiago, Chile
Mensajes: 53
Antigüedad: 17 años, 2 meses
Puntos: 1
Respuesta: problema con mysql_num_rows

la consulta parece estar bien.. ahora reemplaza por:

<?php
session_start();
include("conectar.php");
/* Script que recibe las variables de la pagina anterior*/
$tb_nombre="usuario";
$usuario1=$_POST['user'];
$password1=$_POST['password'];
$sql="Select * from $tb_nombre where rut='$usuario1' and password='$password1'";
conectar();
$result=mysql_query($sql);
die(mysql_error());
desconectar();
$cont=mysql_num_rows($result);
if($cont>0){
$id_usuario=mysql_result($result,0,"rut");
$nombre=mysql_result($result,0,"nombre");
$apellido=mysql_result($result,0,"apellidos");
$id_perfil=mysql_result($result,0,"tipo_cod");
//se registra los datos del usuario en la SESION
$_SESSION['log_in']=true;
$_SESSION['s_id_usuario']=$id_usuario;
$_SESSION['s_nombre']=$nombre;
$_SESSION['s_apellido']=$apellido;
$_SESSION['s_id_perfil']=$id_perfil;
switch($id_perfil){
case "1":{ header("location:./principal.php");
break;
}
//se abre sesion administrador
default;
break;
}
}
?>

disculpa por lo "paso a paso" pero es la mejor forma para ayudar... :P.

Ahora envía lo que te imprime.
  #14 (permalink)  
Antiguo 16/06/2008, 10:50
 
Fecha de Ingreso: abril-2008
Mensajes: 17
Antigüedad: 16 años
Puntos: 0
Respuesta: problema con mysql_num_rows

unknown column 'rut' in 'where clause'
eso es lo que muestra
  #15 (permalink)  
Antiguo 16/06/2008, 10:53
 
Fecha de Ingreso: febrero-2007
Ubicación: Santiago, Chile
Mensajes: 53
Antigüedad: 17 años, 2 meses
Puntos: 1
Respuesta: problema con mysql_num_rows

hasta que encontramos el problema...!!!

lo que sucede es que en la tabla "usuario" no tienes el campo "rut".

Eso es.
  #16 (permalink)  
Antiguo 16/06/2008, 10:54
Avatar de T4ke0veR  
Fecha de Ingreso: agosto-2007
Ubicación: Quito - Ecuador
Mensajes: 1.720
Antigüedad: 16 años, 8 meses
Puntos: 28
Respuesta: problema con mysql_num_rows

exacto... revisa tu BD pues dice q desconoce esa columna q llamas en tu consulta

$sql="Select * from $tb_nombre where rut='$usuario1' and password='$password1'";
__________________
Diseño gráfico, Web, imagen corporativa, publicidad ...
  #17 (permalink)  
Antiguo 16/06/2008, 11:11
 
Fecha de Ingreso: abril-2008
Mensajes: 17
Antigüedad: 16 años
Puntos: 0
Respuesta: problema con mysql_num_rows

ufffffffffffff.
Se soluciono costo mas de cuatro horas
perso se pudo
Por las rechucha que toy contento
Gracias chicos
y Viva Chile Mierda
Gracias Gracias Gracias Gracias Gracias Gracias Gracias Gracias
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 18:59.