Foros del Web » Programando para Internet » PHP »

Error fetch_assoc()

Estas en el tema de Error fetch_assoc() en el foro de PHP en Foros del Web. Estoy teniendo un problemita con un fetch_assoc() que adelante les muestro... Tengo una pagina de bienvenida a mi web-page, donde al hacer login te saluda ...
  #1 (permalink)  
Antiguo 28/03/2007, 22:40
Avatar de mlorena  
Fecha de Ingreso: marzo-2007
Mensajes: 16
Antigüedad: 17 años, 1 mes
Puntos: 0
Pregunta Error fetch_assoc()

Estoy teniendo un problemita con un fetch_assoc() que adelante les muestro...

Tengo una pagina de bienvenida a mi web-page, donde al hacer login te saluda y si tienes una pic la muestra..

Código:
<?php 
 if(isset($_SESSION['user']))
 {
   $obj = new DatabaseConnection();
   $lnk = $obj->getConnection(); 
   if(!is_null($lnk))
   { 
     $query = "select Fot_Url as url from soy_foto where Us_Usuario = '".$_SESSION['user']."';";
     $result = $lnk->query($query);
     if(!is_null($result))
     { 
       if($row = $result->fetch_assoc())
       { 
         echo("<img src='../Agrega_Foto/".$row['url']."' width='190' height='198' /></p>");
        }
        else
        {
          echo("<img src='../Pictures/Agrega_Foto_green.png' width='190' height='198' /></p>");
         }
      }
    }   		
 }		
?>
La cuestion es que cuando haces login todo esta bien, trabaja perfecto, si visito otra pagina y me regreso tambien esta bien... pero si entro a una pagina donde modifico datos del usuario en una tabla, y despues voy a la pagina de bienvenida me truena el fetch...

Este es el error:
Cita:
Fatal error: Call to a member function fetch_assoc() on a non-object in ...
No se si me di a entender

Gracias! y como siempre, mil gracias por su ayuda!!!!
  #2 (permalink)  
Antiguo 29/03/2007, 11:06
Avatar de gerson  
Fecha de Ingreso: febrero-2005
Ubicación: Lima
Mensajes: 481
Antigüedad: 19 años, 2 meses
Puntos: 4
Re: Error fetch_assoc()

Hola mlorena creo q no es asi:
Código PHP:
if($row $result->fetch_assoc()) 
mas bien asi:

Código PHP:
if($row $lnk->fetch_assoc()) 
Saludos
__________________

  #3 (permalink)  
Antiguo 29/03/2007, 19:59
Avatar de mlorena  
Fecha de Ingreso: marzo-2007
Mensajes: 16
Antigüedad: 17 años, 1 mes
Puntos: 0
Re: Error fetch_assoc()

Lo voy a probar...
lo curioso es que si funciona, el detalle es al entrar a una pagina donde el usuario puede cambiar su perfil...
gracias!
  #4 (permalink)  
Antiguo 29/03/2007, 20:09
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 22 años, 3 meses
Puntos: 5
Re: Error fetch_assoc()

No Gerson, la forma correcta es llamar el fetch desde $result (que es el resource link identifier para la consulta)

Me parece que el problema es que de alguna forma la clase que usas para BD no está siendo instanciada en esa segunda llamada, probablemente alguna variable, llamado a función, o algo similar se está perdiendo en el camino (tal vez debido a algo que cambia en la sesión al actualizar los datos, o algo así).

Ayudaría ver donde incluyes el código donde tienes definida la clase DatabaseConnection.

Saludos
__________________
Manoloweb
  #5 (permalink)  
Antiguo 29/03/2007, 22:40
Avatar de mlorena  
Fecha de Ingreso: marzo-2007
Mensajes: 16
Antigüedad: 17 años, 1 mes
Puntos: 0
Re: Error fetch_assoc()

Pues asi fue como se corrigio... en el manual de php.net viene...

Código:
if(isset($_SESSION['user']))
   {
    $obj = new DatabaseConnection();
    $lnk = $obj->getConnection(); 
    if(!is_null($lnk))
    { 
      $query = "select Fot_Url as url from soy_foto where Us_Usuario = '".$_SESSION['user']."';";
      if ($result = $lnk->query($query))   //aqui fue donde cambio
      { 
        if($row = $result->fetch_assoc())  //aqui
        {
          echo("<img src='../Agrega_Foto/".$row['url']."' width='190' height='198' /></p>");
         }
         else
         {
           echo("<img src='../Pictures/Agrega_Foto_green.png' width='190' height='198' /></p>");
          }
       $result->close();
       }//End of if.
     $lnk->close();  //y se agregaron los close de $result y $lnk
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 01:39.