Ver Mensaje Individual
  #3 (permalink)  
Antiguo 30/03/2013, 18:50
SeaPirates
 
Fecha de Ingreso: enero-2009
Ubicación: España
Mensajes: 786
Antigüedad: 15 años, 3 meses
Puntos: 9
Respuesta: Mantener conexión abierta

Cita:
Iniciado por dashtrash Ver Mensaje
No es un problema con mysqli.Sino con cómo usas clases.Si lo que esperas es que "una variable esté definida en todos los archivos donde incluyes la clase donde la usas", es que estás programando orientado a "scripts".
Lo que necesitas es :
1) Hacer que la conexión sea una variable miembro de la clase.
2) Un método que devuelva dicha variable miembro.
¿Sería optimo utilizar una clase así?

Código PHP:
class MySQLiData {

    public function 
__construct() 
    {
    
        
$this->MySQLi_SERVER 'localhost';
        
$this->MySQLi_USER 'root';
        
$this->MySQLi_PASSWORD '';
        
$this->MySQLi_DATABASE 'database';
        
        
$this->MySQLi mysqli_connect($this->MySQLi_SERVER$this->MySQLi_USER$this->MySQLi_PASSWORD$this->MySQLi_DATABASE); 
        
        if(!
$this->MySQLi)
        {
            die(
'MySQL Connection Database Error nº: ' mysqli_connect_errno());
        }    
        
    }
    
    public function 
getInstance()
    {
 
        
$this->Instance $this->MySQLi;
        return 
$this->Instance;
        
    }
    
    public function 
Query($sql
    {

        
$this->Query mysqli_query($this->MySQLi$sql);
        
        if(!
$this->Query)
        {
            echo 
'No se ha podido realizar la consulta';
        } 
        else 
        {
            return 
$this->Query;
        }
        
    }
    
    public function 
FetchAssoc($sql$field
    {
    
        
$this->Get mysqli_fetch_assoc(mysqli_query($this->MySQLi$sql));
        
        if(!
$this->Get)
        {
            echo 
'No se ha podido realizar la consulta';
        } 
        else 
        {
            echo 
$this->Get[$field];
        }
        
    }
    
    public function 
NumRows($sql)
    {
    
        
$this->NumRows mysqli_num_rows(mysqli_query($this->MySQLi$sql));
        
        echo 
$this->NumRows;
        
    }
    
}

$MySQLi = new MySQLiData();