El problema es de clases, no está entendiendo el alcance de las variables/atributos dentro de los métodos.
Atención: Las variables globales están terminantemente prohibidas.
Lo que deberías hacer es tener un atributo de la clase para la conexión y este ser usado por los métodos de la propia clase.
Detalles a tener en cuenta
- El nombre de la clase no se ajusta al contexto, lo que tu intentas hacer es una operación de base de datos y la conexión sería un atributo de la clase
- Revisa la nomenclatura, usa el estándar de Zend
Debería ser algo del estilo:
Código PHP:
Archivo: BaseDeDatos.php
class BaseDeDatos
{
private $_conexion;
private $_resultado;
public function __construct($nombre)
{
$this->_conexion = mysql_connect("xxxx", "xxxxx" ,"");
mysql_select_db($nombre);
}
public function ejecutarConsulta($sql)
{
$this->_resultado = mysql_query($sql,$this->_conexion);
}
public functino obtenerDatos()
{
return mysql_fetch_row($this->_resultado);
}
}
Archivo: Cliente.php
require_once 'BaseDeDatos.php';
class Cliente
{
public function mostrar()
{
$bd = new BaseDeDatos('clientes');
$bd->ejecutarConsulta("select nombre, apellido from datos");
while($datos = $bd->obtenerDatos()){
// etcétera
}
}
}