Ver Mensaje Individual
  #1 (permalink)  
Antiguo 31/10/2009, 14:25
jury
 
Fecha de Ingreso: julio-2009
Mensajes: 19
Antigüedad: 15 años, 8 meses
Puntos: 0
Problema con la duracion de las variables de una clase

Bueno, resulta que estoy escribiendo un codigo (una clase) que trabaje con la base de datos...

la clase tiene variables privadas, que incluyen la configuracion y la de la connecion (la tipica variable $link).

en la funcion constructuctora, especifico que se debe conectar a la base de datos, entonces

uso mysql_connect y lo almaceno en $this->connection

pero en el destructor queria usar la siguiente funcion
mysql_close($this-connection);

al hacer esto php me tira un error

Warning: mysql_close() expects parameter 1 to be resource, null given in C:\xampp\xampp\htdocs\nmu\ophp\class\database.php on line 32

me dice que mi variable no tiene contenido =/... pero si uso "mysql_close" dentro de la funcion constructora la libera cierra la coneccion sin problemas..

alguien me da una mano?

cualquier cosa a continuacion esta el codigo.

Código PHP:
<?php
/* 
 * 
 * Get from database class
 *
 */

class database{
    private 
$config = array(
        
"hostname" => "localhost" ,
        
"username" => "root" ,
        
"password" => "" ,
        
"database" => "nmu",
        
"show_errors" => true
    
);
    private 
$connection;
        
/* <funcion constructora> */
    
function __construc() {
        
$this->connection mysql_connect($this->config["hostname"],$this->config["username"],$this->config["password"]);
        if (!
$this->connection){
            if(
$this->config["show_errors"]){
                die( 
'Could not connect: ' mysql_error() );
            }
            else{die();}
        }
        
mysql_select_db($this->config["database"], $this->connection);
    } 
/* </funcion constructora> */
 
     /* <funcion destructora> */
    
function __destruct() {
        
mysql_close($this->connection);
        }
/* </funcion destructora> */
    
function get_connection() {
    return 
$this->connection;}
    }
    
    
    
$database = new database;


?>