Foros del Web » Programando para Internet » PHP »

Error extraño con Mysql_num_rows()

Estas en el tema de Error extraño con Mysql_num_rows() en el foro de PHP en Foros del Web. Hola, queria comentaros el error que me pasa aver si me podeis ayudar. Estoy rompiendome la cabeza pero no veo el error: Código PHP:      ...
  #1 (permalink)  
Antiguo 22/11/2006, 08:57
 
Fecha de Ingreso: julio-2005
Mensajes: 86
Antigüedad: 18 años, 9 meses
Puntos: 3
Error extraño con Mysql_num_rows()

Hola, queria comentaros el error que me pasa aver si me podeis ayudar.
Estoy rompiendome la cabeza pero no veo el error:
Código PHP:
    function informeu($nick$ip) {
  if (
$_SERVER['HTTP_X_FORWARDED_FOR'] != ""

    
$ip $_SERVER['HTTP_X_FORWARDED_FOR'];   

  else if (
$_SERVER['HTTP_VIA'] != ""

         
$ip $_SERVER['HTTP_VIA'];   

  else if (
$_SERVER['REMOTE_ADDR'] != ""

         
$ip $_SERVER['REMOTE_ADDR'];  

       else 

         
$ip _UNKNOWIP

  
        
$query1 "SELECT * FROM `informeu` WHERE nick = '$nick''"

        
$resp1 = @mysql_query($query1);

        
$rows1 = @mysql_num_rows($resp1);
       echo 
$rows1;
    
       if (!
$rows1) {
       
            
$fecha date("j/n/y -- H:i");
        
$query "INSERT INTO `informeu` (nick, ip, fecha) values ('".$nick."', '".$ip."', '".$fecha."')";
            
mysql_query($informeu);
            echo 
"Row insertado.";
            } else {
            echo 
"Ya hay un row.";
            }
            } 
Lo que quiero hacer es que si no hay ninguna fila, se me inserte y si ya la hay, que no haga nada... Gracias de antemano.
  #2 (permalink)  
Antiguo 22/11/2006, 09:06
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 19 años, 1 mes
Puntos: 33
De acuerdo

1) Actualmente que hace tu código, ¿Te genera algun error?
2)¿Donde declaras o inicializas tu variable $nick?

Saludillos
  #3 (permalink)  
Antiguo 22/11/2006, 09:10
 
Fecha de Ingreso: julio-2005
Mensajes: 86
Antigüedad: 18 años, 9 meses
Puntos: 3
Fijate que es una funcion y lo hago en otro archivo simplemente haciendo un include al archivo que lleva esa funcion. Actualmente no me da ningun error PHP pero si que no cumple con lo que quiero... La tabla es asi:
Nick IP fecha
Lin 11 kakaka

y si yo en el siguiente codigo
Código PHP:
        $query1 "SELECT * FROM `informeu` WHERE nick = '$nick''";  

        
$resp1 = @mysql_query($query1); 

        
$rows1 = @mysql_num_rows($resp1); 
Si la variable nick la pongo como valor Lin en la funcion me hace todo bien pero no cumple con if (!$rows1) { } osease, que esta ese row pero en el codigo no me lo detecta :S y lo tengo por seguro que esta.
  #4 (permalink)  
Antiguo 22/11/2006, 09:17
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 19 años, 1 mes
Puntos: 33
jeje no me queda del todo claro tu post pero tratare de darte una posible solcución

1) Te recomiendo que imprimas tu variable $nick, para de estar forma estar seguros de que la función la esta recibiendo.

2) Te recomiendo que cambies

Código PHP:
 $resp1 = @mysql_query($query1)
 if (!
$rows1) { 
//por
 
$resp1 mysql_query($query1) or die(mysql_error());
 if (
$rows1 == 0) { 
Saludillos.
  #5 (permalink)  
Antiguo 22/11/2006, 09:20
 
Fecha de Ingreso: julio-2005
Mensajes: 86
Antigüedad: 18 años, 9 meses
Puntos: 3
Ya lo hice, hice de todo y mas, lo que pasa es que el mysql_num_rows no me tira valor 0 sino que ningun valor... no se que debe pasar, la variable $nick si la recibe y a la perfeccion, te lo aseguro... porque te crees que hice un echo $rows1; para ver si me da algun numero, pero no me da ninguno :S
  #6 (permalink)  
Antiguo 22/11/2006, 09:22
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 19 años, 1 mes
Puntos: 33
1) Si pusiste esto?
Código PHP:
$resp1 mysql_query($query1) or die(mysql_error()); 
2)Ya trataste imprimiendo la consulta a pantalla y ejecutandola directamente en la BD?

Saludillos.
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 23:11.