Foros del Web » Programando para Internet » PHP »

problemas con mysql_num_rows()

Estas en el tema de problemas con mysql_num_rows() en el foro de PHP en Foros del Web. hola tengo el siguiente script php que deberia funcionar pero me tira un error en la linea numero 30 que seria esta : Código PHP: ...
  #1 (permalink)  
Antiguo 17/11/2009, 18:59
Avatar de intiweb  
Fecha de Ingreso: mayo-2009
Ubicación: Capital Federal
Mensajes: 363
Antigüedad: 15 años, 6 meses
Puntos: 5
problemas con mysql_num_rows()

hola tengo el siguiente script php que deberia funcionar pero me tira un error en la linea numero 30 que seria esta :

Código PHP:
if (mysql_num_rows ($result)>0
les dejo el script a ver si alguien sabe cual es mi error me fije y pareceria estar todo bien y la base de datos funcionan porque el sistema de registro de usuarios que se conecta con la misma base de datos funciona perfecto.

bueno la verdad estoy perdido en uno de esos momentos donde no ves nada mal pero no anda y es frustante

asi que aqui les dejo el codigo.

Código PHP:
<?php
session_start
();
include_once (
"fns.php");

echo 
"<h1>mapa</h1>";

//comprobar variables de session
if (session_is_registered("valid_user"))
 {

    echo 
"<p>estas loggeado como $valid_user.</p>";
    echo 
"<a href=\"logout.php\">des logearse</a></p>";
    echo 
"<a href=\"biblioteca.php\">Biblioteca</a></p>";
    echo 
"<a href=\"general.php\">General</a></p>";
    echo 
"<a href=\"trabajo.php\">trabajo</a></p>";
    echo 
"<a href=\"politica.php\">cargos politicos</a></p>";
    echo 
"<a href=\"socializar.php\">socializar</a></p>";
    echo 
"<a href=\"logout.php\">des logearse</a></p>";
    echo 
"<a href=\"creditos.php\">creditos</a></p>";
    echo 
"<a href=\"usuario.php\">tu cuenta</a></p>";
    echo 
"<a href=\"tareas.php\">tareas</a></p>";
    echo 
"<a href=\"cam_contrasena.php\">cambiar contraseña</a></p>";

    
$id $valid_user;

    
$db_conn db_connect();
    
$query "select posicion from personaje "
            
."where idusuario='$id' ";
    
$result mysql_query($query,$db_conn);
    if (
mysql_num_rows ($result)>0)
    {
    
$db_conn db_connect();
    
$query "select* from personaje "
            
."where posicion='$result' ";
    
$consulta mysql_query($query,$db_conn);
    if (
mysql_num_rows ($consulta) >0)
     {
     while(
$registro mysql_fetch_assoc($consulta))
     
$nombre $registro["idusuario"];
     
$raza $registro["raza"];
     
$personaje $status["personaje"];

      echo 
"$nombre "."$raza"."$personaje"."</p>";
     }
     else
     {
       echo  
"estas solo en esta pantalla";
       exit;
       }
  }
  else
  {
       echo  
"no tienes ninguna posicion";
       exit;
  }
 }
else
 {
    echo 
"<p>no estas logged in.</p>";
    echo 
"<p>solo los miembros loggeados pueden ver esta pagina.</p>";
 }

echo 
"<a href=\"index.php\">volver a la pagina principal</a>";
?>

el error que de tira es el siguiente:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\ur-dorotrik\mapa.php on line 30
no tienes ninguna posicion

bueno espero que alguien sepa cual es mi error
  #2 (permalink)  
Antiguo 17/11/2009, 19:11
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: problemas con mysql_num_rows()

Cita:
Iniciado por intiweb Ver Mensaje
[...] bueno espero que alguien sepa cual es mi error
pues no somos adivinos...

pero, como sugerencia: siempre depura tus consultas...
Código PHP:
/* ... */ mysql_query($query,$db_conn) or die(mysql_error()); 
si lo haces, nos evitas el hacer de magos... y así, obtienes el mensaje de error correcto...

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

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 17/11/2009, 19:49
 
Fecha de Ingreso: mayo-2005
Mensajes: 121
Antigüedad: 19 años, 6 meses
Puntos: 0
Respuesta: problemas con mysql_num_rows()

prueba esto:

Código PHP:
<?php 
session_start
(); 
include(
"fns.php"); 

echo 
"<h1>mapa</h1>"

//comprobar variables de session 
if (session_is_registered("valid_user")) 
 { 
    echo 
"<p>estas loggeado como $valid_user.</p>"
    echo 
"<a href=\"logout.php\">des logearse</a></p>"
    echo 
"<a href=\"biblioteca.php\">Biblioteca</a></p>"
    echo 
"<a href=\"general.php\">General</a></p>"
    echo 
"<a href=\"trabajo.php\">trabajo</a></p>"
    echo 
"<a href=\"politica.php\">cargos politicos</a></p>"
    echo 
"<a href=\"socializar.php\">socializar</a></p>"
    echo 
"<a href=\"logout.php\">des logearse</a></p>"
    echo 
"<a href=\"creditos.php\">creditos</a></p>"
    echo 
"<a href=\"usuario.php\">tu cuenta</a></p>"
    echo 
"<a href=\"tareas.php\">tareas</a></p>"
    echo 
"<a href=\"cam_contrasena.php\">cambiar contraseña</a></p>"
    
    
$id $valid_user
    
$db_conn db_connect(); 
    
$query "select posicion from personaje where idusuario='$id'"
    
$result mysql_query($query,$db_conn); 
    
$total=mysql_num_rows($result);
    
    if (
$total>0
    {  
    
$query "select* from personaje where posicion='$result'"
    
$consulta mysql_query($query,$db_conn); 
    
$total2=mysql_num_rows ($consulta);
    
        if (
$total2>0
         { 
         while(
$registro mysql_fetch_assoc($consulta)) 
         
$nombre $registro["idusuario"]; 
         
$raza $registro["raza"]; 
         
$personaje $status["personaje"]; 
          echo 
".$nombre.".".$raza.".".$personaje."
         } 
     else 
     { 
       echo  
"estas solo en esta pantalla"
       exit; 
       } 
  } 
  else 
  { 
       echo  
"no tienes ninguna posicion"
       exit; 
  } 
 } 
else 
 { 
    echo 
"<p>no estas logged in.</p>"
    echo 
"<p>solo los miembros loggeados pueden ver esta pagina.</p>"
 } 
echo 
"<a href=\"index.php\">volver a la pagina principal</a>"
?>
  #4 (permalink)  
Antiguo 17/11/2009, 20:23
Avatar de intiweb  
Fecha de Ingreso: mayo-2009
Ubicación: Capital Federal
Mensajes: 363
Antigüedad: 15 años, 6 meses
Puntos: 5
Respuesta: problemas con mysql_num_rows()

si es verdad pateketrueke tampoco espero que sean magos solo ver si alguin que sepa mas que yo se de cuenta y diga mira este chango el codigo que puso mal y ni se dio cuenta jajaja,
y capas me pueda dar una mano.
es muy buen consejo lo de depurar el codigo la verdad ni lo pense con mi cabeza un poco novata hai cosas que se me pasan por alto.

en cuanto a lo que me respondio javier2018 ya lo habia probado pero tampoco funciona.

bueno seguire haciendo pruebas hasta que funcione , y si alguien ve algo rraro en mi codigo porfa les agradeceria que me lo informaran desde ya muchisimas gracias
  #5 (permalink)  
Antiguo 17/11/2009, 20:40
Avatar de intiweb  
Fecha de Ingreso: mayo-2009
Ubicación: Capital Federal
Mensajes: 363
Antigüedad: 15 años, 6 meses
Puntos: 5
Respuesta: problemas con mysql_num_rows()

bueno obviamente pateketrueke tenia rason le puse los depuradores y me dijo que no encontraba esa columna en la db me fije y la columna decia pisicion gran error mio perdon, pero ahora funciona bien lastima que aunque yo en la columna posicion tengo un valor 12 igual me dice que no tengo ninguna posicion o sea pasa al else

else
{
echo "no tienes ninguna posicion";
exit;
}

que este el es el que te llevaria si la consulta
db_conn = db_connect();
$query = "select posicion from personaje where idusuario='$id'";
$result = mysql_query($query,$db_conn);
$total=mysql_num_rows($result);

if ($total>0)
da false.

la verdad debe ser alguna atrosidad como la de recien jaja pero bueno ya la solucionare nunca se aprende si no es a los golpes
  #6 (permalink)  
Antiguo 17/11/2009, 20:53
Avatar de intiweb  
Fecha de Ingreso: mayo-2009
Ubicación: Capital Federal
Mensajes: 363
Antigüedad: 15 años, 6 meses
Puntos: 5
Respuesta: problemas con mysql_num_rows()

claro ya saque otra parte jajaja si sigo asi voy a tener que ir al oculista porque queria obtener el username de la tabla equivocada bueno ahora solucione eso peo tengo otro problema jajajaj que es el siguiente:

este loop while:

while($registro = mysql_fetch_assoc($consulta))
$nombre = $registro["idusuario"];
$raza = $registro["raza"];
$personaje = $status["personaje"];
echo "$nombre</br>"."$raza</br>"."$personaje";

al encontrar a alguien me devuelve lo siguiente:

2


un 2 y dos enter lo que entenderia es que encontro 2 que estan en esa posicion que es correcta ya que hay solo dos en la db yo y otro mas pero me tendria que decir el userid, raza, etc o sea la siguiente linea:
echo "$nombre</br>"."$raza</br>"."$personaje";

seguire viendo a ver que desastres mas habre echo
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 14:43.