Ver Mensaje Individual
  #1 (permalink)  
Antiguo 09/07/2010, 10:05
jandresaedo
 
Fecha de Ingreso: noviembre-2009
Mensajes: 8
Antigüedad: 14 años, 5 meses
Puntos: 0
Pregunta Problemas con clases para mysql

Estimados:
Tengo el siguiente error, al llamar a mi objeto en el Index, para hacer una consulta en mi base de datos:

error: Call to private SelecFull::__construct() from invalid context

ClasesBD.php
Código PHP:
Class BD{
    private 
$_host;
    private 
$_user;
    private 
$_pass;
    protected 
$link;
    private static 
$instancia// Una propiedad para tener la instancia de la clase


    //FUNCION CONTRUCTOR PARA INICIALIZAR DATOS DE LA CLASE
    
Private Function __construct(){
        require 
"config.php";
        
$this->_host=$host;
        
$this->_user=$user;
        
$this->_pass=$pass;
    }

    
/***********************************************************************************************************
    SINGLETON*/
    // Desde aqui se obtiene la instancia OJO con el static
    
Public static function getInstance () {
        if (!isset(
self::$instancia)) {
            
$obj __CLASS__;
            
self::$instancia = new $obj;
        }
        return 
self::$instancia;
    }
      
// Para evitar la clonacion de este objeto
    
private function __clone() {
        throw new 
Exception('No se permite clonar este objeto.');
    }
    
/*FIN DEL SINGLETON
    /*************************************************************************************************************/


    //CONECCION A LA BD
    
Protected Function conn(){
        
$this->link=mysql_connect($this->_host$this->_user$this->_pass);
        if(!
$this->link){
            die(
'No pudo conectarse: ' mysql_error());
        }else{
          return 
$this->link;
        }
    }
}

//CONSULTA SQL
//REALIZA UN SELECT * DENTRO DE LA TABLA
Class SelecFull{
    private 
$busca;
    private 
$conn;
    private 
$result;


    Private Function 
__construct(){
        
//NOS CONECTAMOS A LA BD
        
$this->conn BD::getInstance();
    }
    
    
//SE PIDE LA SENTENCIA SQL Y SE REALIZA LA CONSULTA
    //DEVUELVE EL ARRAY CON EL RESULTADO
    
Public Function Consulta($cadenaSql){
        
$this->busca mysql_query($cadenaSql);
        if(!
$this->busca){
            die (
"No se puede realizar la consulta".mysql_error());
        }else{
            
$this->result=mysql_fetch_object($this->busca);
            return 
$this->busca;
        }
    }
    

Se que esta mal la llamada a la Clase BD pero no se como unir las 2 clases para obtener la conección a la BD.

Muchas gracias.