Ver Mensaje Individual
  #2 (permalink)  
Antiguo 01/07/2012, 15:49
Avatar de ipraetoriux
ipraetoriux
 
Fecha de Ingreso: abril-2010
Ubicación: ipraetoriux.com
Mensajes: 1.125
Antigüedad: 14 años
Puntos: 155
Respuesta: Problemas al llamar a una clase

bien el problema lo tienes en la clase conectar...

1ero, el metodo con(), porque lo pones static?...
2do. Cuando estableces la conexion con mysql, los parametros $dbservidor, $dbusuario, $dbclave, los has definido en la clase vara, por lo tanto no existen dentro de la clase Conectar, para aqueder a ellos lo haces con instanciando la clase vara, peroooo...en vara deben ser public, no private. Dentro de vara el metodo vari lo sustituyes con el contructor, acostumbra a empezar las classes son mayuscula y aunque no es condicion necesaria en php escribe una clase por archivo, como en Java por ejemplo.

entonces vara te quedaria asi...

Código PHP:
Ver original
  1. class Vara(){
  2.         public $dbservidor = "localhost";
  3.         public $dbusuario = "root";
  4.         public $dbclave = "";
  5.         public $db = "prueba";
  6.  
  7.         public function __construct(){
  8.               $this->dbservidor = $dbservidor;
  9.                 $this->dbusuario = $dbusuario;
  10.                 $this->dbclave = $dbclave;
  11.                 $this->db = $db;
  12.        }
  13. }


En Conectar tambien sacas el metodo con y lo reemplas directame con el contructor, esto te ahorra codigo al momento de establecer la conexion

Código PHP:
Ver original
  1. class Conectar{
  2.    
  3.      private $conectar;
  4.  
  5.      public function __construct(){
  6.         $this->conectar = new Vara();
  7.                
  8.        $conexion=mysql_connect($this->conectar->dbservidor,$this->conectar->dbusuario,$this->conectar->dbclave);
  9.         mysql_query("SET NAMES 'utf8'");
  10.         mysql_select_db("$db",$conexion);
  11.         return $conexion;
  12.         mysql_free_result($conexion);
  13.        
  14.         }
  15.  
  16.     }


Luego en conectar, haces un mysql_query antes de seleccionar la base de datos...primero tienes que seleccionar la base de datos con la trabajaras, y luego haces las consultas con mysql_query, por lo tanto la clase Conectar no funcionara, tienes mal el orden de acciones a seguir