Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Novato en POO MySqli

Estas en el tema de Novato en POO MySqli en el foro de PHP en Foros del Web. Amigos, llevo hoy 2 dias tratando de resolver algo que tengo la sensación que es básico, he estado elaborando mi codigo con conexion a MySQL ...
  #1 (permalink)  
Antiguo 10/08/2013, 08:49
Avatar de j_silk_h  
Fecha de Ingreso: julio-2010
Mensajes: 54
Antigüedad: 13 años, 8 meses
Puntos: 6
Pregunta Novato en POO MySqli

Amigos, llevo hoy 2 dias tratando de resolver algo que tengo la sensación que es básico, he estado elaborando mi codigo con conexion a MySQL con la clase Mysqli, buscando aquí y allá y con algo de lógica y técnicas logre esto:

Código PHP:
<?php
session_start
();
date_default_timezone_set("America/Caracas");

class 
Conf{
    private 
$_user;
    private 
$_password;
    private 
$_host;
    private 
$_database;
    
    static 
$_instance;
    
    private function 
__construct(){
        require(
"config.php");
        
$this->_user=$user;
        
$this->_password=$password;
        
$this->_host=$host;
        
$this->_database=$db;
    }
    
    private function 
__clone(){
    }
    
    public static function 
getInstance(){
        if(!(
self::$_instance instanceof self)){
            
self::$_instance = new self;
        }
        return 
self::$_instance;
    }
    
    public function 
getUserDB(){
        
$var $this->_user;
        return 
$var;
    }
    
    public function 
getHostDB(){
        
$var $this->_host;
        return 
$var;
    }
    
    public function 
getPassDB(){
        
$var $this->_password;
        return 
$var;
    }
    
    public function 
getDB(){
        
$var $this->_database;
        return 
$var;
    }
}

class 
Db{
    private 
$servidor;
    private 
$usuario;
    private 
$password;
    private 
$database;
    private 
$conex;
    
    static 
$_instance;
    
    private function 
setConexion(){
        
$conf Conf::getInstance();
        
$this->servidor=$conf->getHostDB();
        
$this->database=$conf->getDB();
        
$this->usuario=$conf->getUserDB();
        
$this->password=$conf->getPassDB();
    }
    
    private function 
__construct(){
        
$this->setConexion();
        
        try{
            
$this->conex = new mysqli($this->servidor$this->usuario$this->password$this->database);
        }catch(
Exception $e){
            echo 
$e->getMessage();
        }
    }
    
    public function 
ejecutar($sql){
        
$this->conex->query($sql);
        
print_r($this->conex->query($sql)->num_rows);
    }
    
    public function 
totalRegistros(){
        
//print_r($this->conex->query($sql)->num_rows);
    
}
    
    public static function 
getInstance(){
        if(!(
self::$_instance instanceof self)){
            
self::$_instance = new self();
        }
        return 
self::$_instance;
    }
    
}

function 
getUbicacionCliente(){
    
    
$ip $_SERVER["REMOTE_ADDR"];
    
$bd Db::getInstance();
    
$bd->ejecutar("SELECT * FROM ubicaciones");
    
$bd->totalRegistros();
}
//ejecutandose


?>
Soy novato pero aun asi logro entender gran parte de esto, la conexion la entiendo bastante bien.

Necesito su ayuda en esta parte del codigo

Código PHP:
public function ejecutar($sql){
        
$this->conex->query($sql);
        
print_r($this->conex->query($sql)->num_rows);//esto me muestra la cantidad de registros, pero lo quiero en la funcion que sigue totalRegistros()
}


public function 
totalRegistros(){
        
//aqui es donde quiero una funcion que me diga la cantidad de registros obtenidos
    
print_r($this->conex->query($sql)->num_rows);//Undefined variable: sql in
}
function 
getUbicacionCliente(){
    
    
$ip $_SERVER["REMOTE_ADDR"];
    
$bd Db::getInstance();
    
$bd->ejecutar("SELECT * FROM ubicaciones");
    
$bd->totalRegistros();//

solo quiero obtener el total de registros, no se si hago bien el llamado, espero entiendan lo que trato de hacer aqui :(

Etiquetas: mysql, mysqli, poo, registro, select, sql, variable
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 21:04.