Foros del Web » Programando para Internet » PHP »

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource

Estas en el tema de Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource en el foro de PHP en Foros del Web. Hola!!! estoy con un problema en una funcion, no lo puedo resolver, no encuentro nada fuera de lugar... Me sale este error: Warning : mysql_num_rows(): ...
  #1 (permalink)  
Antiguo 18/09/2009, 13:49
Avatar de Joni2Back  
Fecha de Ingreso: marzo-2009
Mensajes: 146
Antigüedad: 15 años
Puntos: 1
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource

Hola!!!
estoy con un problema en una funcion, no lo puedo resolver, no encuentro nada fuera de lugar...
Me sale este error:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in D:\AppServ\www\panel\core.php on line 116

La linea 116 es la siguiente:
Código PHP:
$tope mysql_num_rows($consulta_g_flood_do); 
y aca esta el codigo entero

Código PHP:
function tope_consultas() {
    global 
$conexiondb;
    global 
$db_t_tickets_users,$g_id_user,$g_fecha,$tope_max_consultas;
    
$consulta_g_flood "SELECT * FROM ".$db_t_tickets_users." where id_user=".$g_id_user." and fecha='".$g_fecha."'";
    
$consulta_g_flood_do mysql_query($consulta_g_flood,$conexiondb);
    
$tope mysql_num_rows($consulta_g_flood_do);
    
$tope_max_consultas 3;
    if (
$tope $tope_max_consultas) {
        return 
$tope;
    }
}

if (
tope_consultas()) {
    print 
"Maximo de consultas alcanzadas";
} else {
        
enviar_ticket_user();

  #2 (permalink)  
Antiguo 18/09/2009, 13:50
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Warning: mysql_num_rows(): supplied argument is not a valid MySQL result r

Te sugiero usar mysql_error() para que veas cual es el error en sí.

Código PHP:
Ver original
  1. $consulta_g_flood_do = mysql_query($consulta_g_flood,$conexiondb) or die(mysql_error());
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 18/09/2009, 13:58
Avatar de Joni2Back  
Fecha de Ingreso: marzo-2009
Mensajes: 146
Antigüedad: 15 años
Puntos: 1
Respuesta: Warning: mysql_num_rows(): supplied argument is not a valid MySQL result r

Cita:
Iniciado por abimaelrc Ver Mensaje
Te sugiero usar mysql_error() para que veas cual es el error en sí.

Código PHP:
Ver original
  1. $consulta_g_flood_do = mysql_query($consulta_g_flood,$conexiondb) or die(mysql_error());
ahi lo agregue y me sale esto

Unknown column 'uae4360596d' in 'where clause'
(uae4360596d seria mi id de usuario)
  #4 (permalink)  
Antiguo 18/09/2009, 13:59
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Warning: mysql_num_rows(): supplied argument is not a valid MySQL result r

Ese es tu id pero lo estas colocando como si fuera una columna, ahi tienes el error, no estas colocandolo como valor sino como el nombre de alguna columna
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #5 (permalink)  
Antiguo 18/09/2009, 14:36
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Warning: mysql_num_rows(): supplied argument is not a valid MySQL result r

En concreto te faltan las comillas a la hora de comparar el resultado: where id_user='".$g_id_user."'

Saludos.
  #6 (permalink)  
Antiguo 20/09/2009, 15:25
Avatar de Joni2Back  
Fecha de Ingreso: marzo-2009
Mensajes: 146
Antigüedad: 15 años
Puntos: 1
Respuesta: Warning: mysql_num_rows(): supplied argument is not a valid MySQL result r

hola, probe todo lo que me recomendaron y el problema sigue....
aca pongo el codigo php final que optimize

Código PHP:
function tope_consultas() {
    global 
$conexiondb;
    global 
$db_t_tickets_users,$g_id_user,$g_fecha,$tope_max_consultas;
    
$consulta_g_flood "SELECT * FROM ".$db_t_tickets_users." where 'id_user'='".$g_id_user."' and 'fecha'='".$g_fecha."'";
    
$consulta_g_flood_do mysql_query($consulta_g_flood,$conexiondb); 
    
$tope mysql_num_rows($consulta_g_flood_do); 
    
$tope_max_consultas $tope_max_consultas-1;
    if (
$tope $tope_max_consultas) {
        return 
$tope;
    }
}

if (
tope_consultas()) {
    
do_tope_consultas();
} else {
    if (
$confirmar ==  && !$g_mensaje == "") {
        
enviar_ticket_user();
    }

pero sigue apareciendo el
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource on line 14

Por las dudas aca adjunto la estructura de la base...
Código SQL:
Ver original
  1. CREATE TABLE `tickets_users` (
  2.   `id_ticket` VARCHAR(10) NOT NULL,
  3.   `id_user` VARCHAR(12) NOT NULL,
  4.   `ip` VARCHAR(10) NOT NULL,
  5.   `fecha` DATE NOT NULL,
  6.   `hora` TIME NOT NULL,
  7.   `mail_op` VARCHAR(50) DEFAULT NULL,
  8.   `mensaje` VARCHAR(10000) NOT NULL
  9. ) ENGINE=MyISAM DEFAULT CHARSET=utf8;

Última edición por Joni2Back; 20/09/2009 a las 15:39
  #7 (permalink)  
Antiguo 20/09/2009, 15:42
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Warning: mysql_num_rows(): supplied argument is not a valid MySQL result r

Las comillas solo deben de ir rodeando el valor que quieres buscar en la consulta, no en los identificadores de las columnas.

Saludos.
  #8 (permalink)  
Antiguo 20/09/2009, 16:01
Avatar de Joni2Back  
Fecha de Ingreso: marzo-2009
Mensajes: 146
Antigüedad: 15 años
Puntos: 1
Respuesta: Warning: mysql_num_rows(): supplied argument is not a valid MySQL result r

Cita:
Iniciado por GatorV Ver Mensaje
Las comillas solo deben de ir rodeando el valor que quieres buscar en la consulta, no en los identificadores de las columnas.

Saludos.
bueno ahi lo quite pero me devuelve un 0, cuando hago un print a $tope
y en la db tengo varios registros
  #9 (permalink)  
Antiguo 20/09/2009, 18:07
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Warning: mysql_num_rows(): supplied argument is not a valid MySQL result r

Imprime la consulta y ejecutala directamente en tu gestor de bases de datos.

Por otro lado esta mal planteada tu función ya que solo devuelve valor si se cumple el if, eso es un error de logica.

Saludos.
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 04:39.