Error accediendo variable de clase
Publicado por Lago GZ (13 intervenciones) el 04/02/2010 13:21:25
Buenos días.
Pues resulta que estoy haciendo una web trabajando sobre Postgre y Apache. Las últimas versiones tanto de Postgre, de PHP como de Apache.
Tengo una página en blanco llamada "index.php", y otra en la cuál defino una clase llamada BaseDatos.php.
Os excribo el código y el problema
-------------------------BaseDatos.php-------------------------
<?php
class BaseDatos
{
public $Indice_Conexion;
public function Conectar($cNombreBD, $cPuerto, $cUsuario, $cPassword, $cHost)
{
this->$Indice_Conexion = pg_connect("dbname=" + $cNombreBD + " port=" +$cPuerto + "user=" + $cUsuario + " password=" + $cPassword + " host=" + $cHost);
return this->$Indice_Conexion;
}
}
?>
---------------------------index.php------------------------------------
<?php
1. session_start();
2.
3. include 'Conexion_BD/BaseDatos.php';
4.
5. try
6. {
7. if (!isset($_SESSION['gBasedatos']))
8. {
9. $_SESSION['gBaseDatos'] = new BaseDatos();
10.
11.$_SESSION['gBaseDatos']->Conectar("nombrebasedatos","5432","nombreusuario","pwdusuario","localhost");
12.
13. echo $_SESSION['gBaseDatos']->$Indice_Conexion;
14 .}
15 .}
16. catch(Exception $e)
17. {
19. echo $e->getMessage();
20. }
21. ?>
Esto lo coloco al inicio de la página y a partir de aquí viene el código HTML.
Pues bien, cuándo cargo la página, me imprime lo siguiente :
Conectar("cambiame","5432","user_cambiame","cambiame","localhost");
Si os habéis dado cuénta, es como si no reconociese el operador ->, ya q el error está en la línea nº 11 (por supuesto los nº s de línea los he puesto yo para q se distinga mejor el código, pero en la aplicación no los tengo).
Hay algo mal en el código???
Es q no me da ningún error.
Un saludo y gracias.
Pues resulta que estoy haciendo una web trabajando sobre Postgre y Apache. Las últimas versiones tanto de Postgre, de PHP como de Apache.
Tengo una página en blanco llamada "index.php", y otra en la cuál defino una clase llamada BaseDatos.php.
Os excribo el código y el problema
-------------------------BaseDatos.php-------------------------
<?php
class BaseDatos
{
public $Indice_Conexion;
public function Conectar($cNombreBD, $cPuerto, $cUsuario, $cPassword, $cHost)
{
this->$Indice_Conexion = pg_connect("dbname=" + $cNombreBD + " port=" +$cPuerto + "user=" + $cUsuario + " password=" + $cPassword + " host=" + $cHost);
return this->$Indice_Conexion;
}
}
?>
---------------------------index.php------------------------------------
<?php
1. session_start();
2.
3. include 'Conexion_BD/BaseDatos.php';
4.
5. try
6. {
7. if (!isset($_SESSION['gBasedatos']))
8. {
9. $_SESSION['gBaseDatos'] = new BaseDatos();
10.
11.$_SESSION['gBaseDatos']->Conectar("nombrebasedatos","5432","nombreusuario","pwdusuario","localhost");
12.
13. echo $_SESSION['gBaseDatos']->$Indice_Conexion;
14 .}
15 .}
16. catch(Exception $e)
17. {
19. echo $e->getMessage();
20. }
21. ?>
Esto lo coloco al inicio de la página y a partir de aquí viene el código HTML.
Pues bien, cuándo cargo la página, me imprime lo siguiente :
Conectar("cambiame","5432","user_cambiame","cambiame","localhost");
Si os habéis dado cuénta, es como si no reconociese el operador ->, ya q el error está en la línea nº 11 (por supuesto los nº s de línea los he puesto yo para q se distinga mejor el código, pero en la aplicación no los tengo).
Hay algo mal en el código???
Es q no me da ningún error.
Un saludo y gracias.
Valora esta pregunta


0