Hola, creo que tengo el mismo problema que tú, y es porque el recurso de conexión no es visible para el método que ejecuta la consulta. Yo también tengo una clase conexión, con un atributo "recurso":
Código PHP:
public function __construct() {
$this->mRecurso = mysql_connect(...);
}
Cuando ejecuto consultas, aunque las consultas están bien formuladas, PHP no encuentra ningún recurso de conexión por defecto. Supongo que una solución es especificar en todas las consultas qué manejador de conexión vamos a usar, y almacenar éste en una variable superglobal, por ejemplo $GLOBALS['conexion']. Mi código ha quedado así:
Código PHP:
$conexion = new ConexionMysql();
$conexion->SeleccionarBd("ven");
$GLOBALS['conexion'] = $conexion->GetRecurso(); //GetRecurso() devuelve el manejador de conexión Mysql
Y en el método que ejecuta la consulta:
Código PHP:
$this->mConsulta = new Consulta($consulta, $GLOBALS['conexion']);
Espero que solucione tu problema! Yo también me he dado cabezazos
Más información:
http://es.php.net/manual/es/reserved...es.globals.php http://es.php.net/manual/es/language...perglobals.php
Otra solución, aunque bastante fea y aparatosa, es pasar a los métodos un parámetro más que fuese el recurso de conexión (o un objeto del que se pueda extraer).