Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

Call to a member function fetch_array() on a non-object

Estas en el tema de Call to a member function fetch_array() on a non-object en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Saludos, tengo un problema con php, he declarado algunas funciones y lo he probado en mi servidor local y funciona correctamente. Cuando lo subo al ...
  #1 (permalink)  
Antiguo 16/03/2009, 09:37
Avatar de anyulled  
Fecha de Ingreso: diciembre-2005
Ubicación: Los Teques, Venezuela
Mensajes: 16
Antigüedad: 18 años, 4 meses
Puntos: 0
Pregunta Call to a member function fetch_array() on a non-object

Saludos, tengo un problema con php, he declarado algunas funciones y lo he probado en mi servidor local y funciona correctamente. Cuando lo subo al host me arroja el siguiente error:

Fatal error: Call to a member function fetch_array() on a non-object in /home/globtron/public_html/includes/db.php on line 51

el código de la función donde arroja el error es el siguiente:
Código PHP:
    private function __construct()
    {
     
$this->conexion mysqli_connect($this->db,$this->user,$this->password,$this->tabla)
     or die(
"No se pudo conectar"mysqli_error());

     
$this->mysqli = new mysqli($this->db,$this->user,$this->password,$this->tabla);
     
$this->mysqli->query("SET NAMES 'utf8'");
    }

public static function 
getInstance(){
    if(!
self::$instance instanceof self){
        
self::$instance = new self;
    }
    return 
self::$instance;
}
    public function 
dame_query($query)
    {
        
$a self::getInstance()->mysqli;
        
$resultado $a->query($query);
        
$r = array();
        while(
$fila =$resultado->fetch_array())
        {
            
$r[] = $fila;
        }
        return 
$r;
    } 
Las variables con los datos los tengo dentro de la misma clase, Luego la llamo desde un archivo index.php de la siguiente manera:

Código PHP:
$productos db::getInstance()->dame_query($consulta); 
tanto en mi maquina como en el host trabajo con versiones de PHP posteriores a la 5
¿Alguno tiene una sugerencia?

Última edición por anyulled; 16/03/2009 a las 10:04
  #2 (permalink)  
Antiguo 16/03/2009, 22:05
Avatar de emiliodeg  
Fecha de Ingreso: septiembre-2005
Ubicación: Córdoba
Mensajes: 1.830
Antigüedad: 18 años, 7 meses
Puntos: 55
Respuesta: Call to a member function fetch_array() on a non-object

primero que nada averigua que este instalado mysqli en el hosting, podes comprobarlo tambien con function_exists()

otro detalle es q antes de pedir el fetch_assoc() es recomendable ver que el resultado tenga al menos una fila mysqli_num_rows()

espero te sirva la ayuda
__________________
Degiovanni Emilio
developtus.com
  #3 (permalink)  
Antiguo 27/03/2009, 14:47
Avatar de anyulled  
Fecha de Ingreso: diciembre-2005
Ubicación: Los Teques, Venezuela
Mensajes: 16
Antigüedad: 18 años, 4 meses
Puntos: 0
Respuesta: Call to a member function fetch_array() on a non-object

@Emilio: muchas gracias, el mensaje de error me aparecía porque realizaba una consulta que no arrojaba resultados, y por tanto no se creaba el objeto.

Le agregué los condicionales y me funcionó. Muchas GRacias!!!
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:31.