Ver Mensaje Individual
  #4 (permalink)  
Antiguo 13/08/2013, 09:32
Avatar de j_silk_h
j_silk_h
 
Fecha de Ingreso: julio-2010
Mensajes: 54
Antigüedad: 14 años, 3 meses
Puntos: 6
Información Respuesta: Novato con clases PHP y Mysqli

Solución final a todo esto:

Archivo config.php

Código PHP:
<?php
$host 
"localhost";
$user "root";
$password "";
$db "administrativo";
?>
Archivo php.php


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;
    private 
$result;
    
    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 static function 
getInstance(){
        if(!(
self::$_instance instanceof self)){
            
self::$_instance = new self();
        }
        return 
self::$_instance;
    }
    
    public function 
ejecutar($sql){
        
$this->result $this->conex->query($sql);
    }
    
    public function 
totalRegistros(){
        return(
$this->result->num_rows);
    }
    
}

function 
getUbicacionCliente(){
    
    
$ip $_SERVER["REMOTE_ADDR"];//obtener direccion IP del cliente para realizar cualquier operacion con ella, en este caso buscarla en la BD

    
$bd Db::getInstance();// hace lo mismo de: $bd = new Db();
    
$bd->ejecutar("SELECT * FROM ubicaciones");
    echo 
$bd->totalRegistros();
}