Ver Mensaje Individual
  #5 (permalink)  
Antiguo 11/02/2008, 05:48
clinisbut
 
Fecha de Ingreso: diciembre-2004
Mensajes: 278
Antigüedad: 19 años, 5 meses
Puntos: 0
Re: Multiples conexiones a mysql

Posi.
Esta duda me viene al ocurrirme el siguiente error:

Uso una clase para la conexión con la base de datos y realizar sus consultas.
Cuando creo un objeto de esta clase, automaticamente se conecta a la tabla indicada por el constructor:
Código PHP:
$bd = new model'localhost''base_datos''tabla''usuario''contraseña' ); 
Hasta ahora, dentro del destructor de la clase tenia un mysql_close() que cerraba la conexión abierta dentro del objeto (le proporcionaba el link que devuelve mysql_connect().
Pero hoy me ha ocurrido que en una pagina creaba dos objetos con los mismos datos de conexión (desde funciones diferentes) y lo que ha ocurrido es que el segundo objeto no ha podido realizar la consulta ya que el primer objeto estaba destruido y por lo tanto habia cortado la conexión.

Código PHP:
function UNO()
{
     
$bd = new model'localhost''base_datos''tabla''usuario''contraseña' );
     
funcion_DOS();
     
$bd->consulta'blablablabla' );
}

function 
funcion_DOS()
{
     
$bd2 = new model'localhost''base_datos''tabla''usuario''contraseña' );
     
$bd2->consulta'blablablabla' );

"Debugueando" vi que ambos objetos compartían el mismo "resource link".

Para solucionar el problema he eliminado la desconexión de mysql en el destructor.
Por si alguien pregunta, la variable donde almaceno el enlace no es static (no se si se llama así a las variables que comparten valor a través de multiples instancias de una clase).

Última edición por clinisbut; 11/02/2008 a las 05:49 Razón: poner etiquetas PHP a codigo.