Ver Mensaje Individual
  #6 (permalink)  
Antiguo 17/12/2008, 11:51
isra00
Invitado
 
Mensajes: n/a
Puntos:
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).

Última edición por GatorV; 17/12/2008 a las 13:18