Ver Mensaje Individual
  #1 (permalink)  
Antiguo 09/04/2012, 19:18
Avatar de JaimeMSE
JaimeMSE
 
Fecha de Ingreso: diciembre-2010
Ubicación: Isla Cristina (Huelva)
Mensajes: 164
Antigüedad: 14 años, 3 meses
Puntos: 7
Problema con variables y clase conexión DB

Hola,

Tengo una clase llamada conexión:

Código PHP:
Ver original
  1. class conexion {
  2.        
  3.         var $host;
  4.         var $nombredb;
  5.         var $usuariodb;
  6.         var $contrasenadb;
  7.        
  8.         public function conexion() {
  9.            
  10.             $this->host = "localhost";
  11.             $this->nombredb = "plantilla";
  12.             $this->usuariodb = "root";
  13.             $this->contrasenadb = "****";
  14.            
  15.             if(!isset($this->conexion)) {
  16.                 $this->conexion = mysql_connect($this->host,$this->usuariodb,$this->contrasenadb) or die(mysql_error());
  17.                 mysql_select_db($this->nombredb,$this->conexion) or die(mysql_error());
  18.             }
  19.            
  20.         } // Fin función conexion

Y un archivo config.php:

Código PHP:
Ver original
  1. <?php
  2.  
  3.     /**
  4.      * Rutas absolutas y relativas
  5.      */
  6.    
  7.     define("ABSPROTECMS","/var/www/vhosts/protecms.dev/httpdocs/");
  8.     define("ABS","/var/www/vhosts/protecms.dev/httpdocs/webs/plantilla/");
  9.     define("INCLUDES","/var/www/vhosts/protecms.dev/httpdocs/includes/");
  10.     define("CSSADMIN","/var/www/vhosts/protecms.dev/httpdocs/");
  11.     $host = "localhost";
  12.     $usuariodb = "root";
  13.     $contrasenadb = "****";
  14.     $nombredb = "plantilla";
  15.     /**
  16.      * Datos de acceso a la base de datos
  17.      */
  18.     include(INCLUDES. "class.conexion.php");
  19.    
  20.     $db = new conexion($host,$nombredb,$usuariodb,$contrasenadb);
  21.        
  22. ?>

Y un archivo test.php:

Código PHP:
Ver original
  1. include("config.php");
  2.  
  3.     $consulta = $db->consulta("SELECT * FROM prueba");
  4.    
  5.     if($db->num_rows($consulta)>0) {
  6.         while($row = $db->fetch_array($consulta)) {  
  7.               echo "<br/><br/>Campo 1: ".$row['campo1']."<br />";  
  8.               echo "Campo 2: ".$row['campo2']."<br />";
  9.         }  
  10.     }

El problema que tengo es que quiero definir los datos de acceso a la DB en el archivo config.php y pasarle los datos a la clase para que conecte (ya que con esa clase quiero usarla para conectar varias webs).

Al momento de cambiar:
Código PHP:
Ver original
  1. $this->host = "localhost";
  2.             $this->nombredb = "plantilla";
  3.             $this->usuariodb = "root";
  4.             $this->contrasenadb = "****";

Por:
Código PHP:
Ver original
  1. $this->host = $host;
  2.             $this->nombredb = $nombredb;
  3.             $this->usuariodb = $usuariodb;
  4.             $this->contrasenadb = $contrasenadb;

No funciona y no entiendo el porqué (seguramente sea una tontería), pero estoy bloqueado.

¿Algún alma caritativa me ayuda? :)
__________________
@JaimeMSE - ¡Sígueme!