Hola a tod@s,
 
he programado una clase que realiza consultas SQL. El código de la clase es éste: 
Código:
 <?php
class Consulta extends ConexionDB{
  private $result;  // Declaración de atributos
  private $sql;
  function __construct($sql){
    $this->sql=@mysql_real_escape_string($sql, $this->dbLink) OR die("La consulta no es 
                        válida<br/>");
    $this->result=@mysql_query($this->sql, $this->dbLink) OR die("La consulta no ha podido 
                             llevarse a cabo<br/>");
  }
}
?>
  Y el código de su super clase (ConexionDB) es éste: 
Código:
 <?php
class ConexionDB {
  private $dbHost;
  private $dbName;
  private $dbUser;
  private $dbPass;
  protected $dbLink;
  /**
   * Constructor de la Clase ConexionDB
  **/
  function __construct($dbName = 'votacion'){
    $this->dbHost='localhost';
    $this->dbUser='usuariodb';
    $this->dbPass='passworddb';
    $this->dbName=$dbName;
    $this->dbLink=@mysql_pconnect($this->dbHost, $this->dbUser, $this->dbPass);
    if(!$this->dbLink)
      throw new Exception('No se pudo conectar a la Base de Datos');
    if(!mysql_select_db($this->dbName,$this->dbLink))
      throw new Exception('No se pudo conectar a la Base de Datos: '.
                          $this->dbName);
  }
}
?>
  He probado la clase 
ConexionDB de forma independiente y funciona perfectamente así que el problema está en la sub clase, en la clase 
Consulta
El problema es que si hago 
Código:
 <?php
require_once './ConexionDB.class.php';
require_once './Consulta.class.php';
$conexion=new ConexionDB();
$consulta=new Consulta('Select * from votacion');
?>
  Me dice que 
La consulta no es válida y si, en lugar de tratar el error, dejo que el script falle, el error que me dice es que le estoy pasando un argumento NULL a la función 
mysql_real_escape_string como si la variable 
dbLink fuera igual a NULL pero en la línea 
ya hago esa comprobación y no me salta la excepción. 
¿Puede alguien ayudarme con ésto? 
Muchas gracias de antemano por la ayuda. 
Saludos,
Jose