Foros del Web » Programando para Internet » PHP »

Problema con resultado de consulta

Estas en el tema de Problema con resultado de consulta en el foro de PHP en Foros del Web. Al intentar mostrar un modulo sobre los datos del perfil de usuario obtengo el siguiente error del servidor Warning: mysql_fetch_array(): supplied argument is not a ...
  #1 (permalink)  
Antiguo 15/09/2008, 11:01
Avatar de naitmeir  
Fecha de Ingreso: junio-2008
Ubicación: Barcelona
Mensajes: 227
Antigüedad: 11 años, 5 meses
Puntos: 0
Pregunta Problema con resultado de consulta

Al intentar mostrar un modulo sobre los datos del perfil de usuario obtengo el siguiente error del servidor

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/webcindario/n/a/naitmeir/output_fns.php on line 461

es el error que tengo por este codigo

Código PHP:
        db_connect(); // conecta a la bd
    
        
$result mysql_query("SELECT email,count (c.username) as total from user u, comentarios c where u.username like '$nick' group by c.username");    
    
        echo 
"<div>";
        
        
$row mysql_fetch_array($result);
             
        
$mail=stripslashes($row["email"]);
        
$mensajes=stripslashes($row["total"]);
        
        echo 
"<div><blockquote><p class=texto>Nombre de usuario: $nick</p></blockquote></div>";
        echo 
"<div><blockquote><p class=texto>E-mail: $mail</p></blockquote></div>"
        echo 
"<div><blockquote><p class=texto>Mensajes en la web: $mensajes</p></blockquote></div>";   
        
        echo 
"</div>"
Donde la misma consulta ejecutada en phpmyadmin, obtengo el resultado esperado correcto, sin problemas. No logro ver donde tengo el problema, los argumentos los recibe bien, pero falla en la funcion

Código PHP:
mysql_fetch_array($result); 
  #2 (permalink)  
Antiguo 15/09/2008, 11:05
Avatar de foreverOdd  
Fecha de Ingreso: noviembre-2007
Ubicación: Caracas
Mensajes: 489
Antigüedad: 12 años
Puntos: 14
Respuesta: Problema con resultado de consulta

where u.username like '".$nick."' group ...........

cuando haces '$var' no se interpreta la variable

pero te esta faltando seleccionar la base de datos
__________________
My path is lit by my own fire, I only go where I desire
  #3 (permalink)  
Antiguo 15/09/2008, 11:25
Avatar de naitmeir  
Fecha de Ingreso: junio-2008
Ubicación: Barcelona
Mensajes: 227
Antigüedad: 11 años, 5 meses
Puntos: 0
Pregunta Respuesta: Problema con resultado de consulta

A mi te aseguro que me la interpreta perfectamente, es mas "$var" no me funciona, y en todas las demas consultas he utilizado '$var' y si va bien y por hay no puede venir el problema, ni por hay ni por que este mal hecha porque en phpmyadmin sale bien. Nose tiene que otro motivo.

Tampoco puede ser por no seleccionar la bd xq dbconect(); es la funcion que utilizo para entrar y seleccionar la bd y la utilizo de la misma forma para otras consultas, nose no lo entiendo....
  #4 (permalink)  
Antiguo 15/09/2008, 11:46
Avatar de foreverOdd  
Fecha de Ingreso: noviembre-2007
Ubicación: Caracas
Mensajes: 489
Antigüedad: 12 años
Puntos: 14
Respuesta: Problema con resultado de consulta

si haces algo asi:

function dbconect(){
aca creas la conexion y seleccionas la base de datos

}

la variable de conexion solo tiene ambito dentro de la funcion, asi que te recomiendo que devuelvas la conexion para que te quede algio asi

$conexion = dbconect();

$result = mysql_query("el_sql",$conexion)

Suerte!
__________________
My path is lit by my own fire, I only go where I desire
  #5 (permalink)  
Antiguo 15/09/2008, 11:56
Avatar de naitmeir  
Fecha de Ingreso: junio-2008
Ubicación: Barcelona
Mensajes: 227
Antigüedad: 11 años, 5 meses
Puntos: 0
Respuesta: Problema con resultado de consulta

Funcion para conectar ...

Código PHP:
function db_connect()
{
   
$result mysql_pconnect("xxxxx.xxxxxxxxxx.com""xxxxxxx""xxxxxxx");
   if (!
$result)
      return 
false;
   if (!
mysql_select_db("xxxxxxx"))
      return 
false;

   return 
$result;

Parte del codigo para ejecutar la consulta


Código PHP:
        $conexion=db_connect(); 
    
        
$result mysql_query("SELECT email,count (c.username) as total from user u, comentarios c where u.username like '$nick' group by c.username",$conexion);    
    
        echo 
"<div>";
        
        
$row mysql_fetch_array($result);
             
        
$mail=stripslashes($row["email"]);
        
$mensajes=stripslashes($row["total"]);
        
        echo 
"<div><blockquote><p class=texto>Nombre de usuario: $nick</p></blockquote></div>";
        echo 
"<div><blockquote><p class=texto>E-mail: $mail</p></blockquote></div>"
        echo 
"<div><blockquote><p class=texto>Mensajes en la web: $mensajes</p></blockquote></div>";   
        
        echo 
"</div>"
y sigue el mismo error

Código PHP:
Warningmysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/webcindario/n/a/naitmeir/output_fns.php on line 461 

eeeeeeeeincreible!
  #6 (permalink)  
Antiguo 15/09/2008, 12:09
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 13 años, 6 meses
Puntos: 2135
Respuesta: Problema con resultado de consulta

Hola naitmeir,

Cambia así tu consulta:
Código php:
Ver original
  1. $result = mysql_query("SELECT email,count (c.username) as total from user u, comentarios c where u.username like '$nick' group by c.username",$conexion) or die( mysql_error() );

Con eso podras ver el error que tienes.

Saludos.
  #7 (permalink)  
Antiguo 15/09/2008, 12:26
Avatar de naitmeir  
Fecha de Ingreso: junio-2008
Ubicación: Barcelona
Mensajes: 227
Antigüedad: 11 años, 5 meses
Puntos: 0
De acuerdo Respuesta: Problema con resultado de consulta

La MALA

Código PHP:
$result mysql_query("SELECT email,count (c.username) as total from user u, comentarios c where u.username like '$nick' group by c.username",$conexion) or die( mysql_error() ); 
LA BUENA

Código PHP:
$result mysql_query("SELECT email, count(c.username) as total from user u, comentarios c where u.username like '$nick' group by c.username",$conexion) or die( mysql_error() ); 
El fallo era el miserable espacio que me sobra en el count_(campo) por eso no funcionaba, me han dao webos!


Muchas gracias or die ()
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 02:08.