Foros del Web » Programando para Internet » PHP »

Sesiones y conexion a mysql

Estas en el tema de Sesiones y conexion a mysql en el foro de PHP en Foros del Web. Hola a todos, estoy empezando a usar php con mysql y me he encontrado con un problema al que no doy solucion. Concretamente, mediante el ...
  #1 (permalink)  
Antiguo 04/03/2010, 02:42
 
Fecha de Ingreso: marzo-2010
Mensajes: 6
Antigüedad: 14 años, 2 meses
Puntos: 0
Sesiones y conexion a mysql

Hola a todos,

estoy empezando a usar php con mysql y me he encontrado con un problema al que no doy solucion.

Concretamente, mediante el manejo de sesiones, creo una conexion a mysql (con un objeto) que guardo en una variable de sesion. Cuando cambio de pagina el objeto se mantiene pero la conexion se "pierde". De hecho cuando ejecuto una consulta obtengo el siguiente mensaje:

Warning: mysql_query() expects parameter 2 to be resource, integer given donde el parámetro 2 es la conexion devuelta por mysqlconnect.

Podria conectar a la base de datos cada vez que cambie de pagina pero lo veo muy chapuzero. A ver si alguien puede ayudarme.

Gracias
  #2 (permalink)  
Antiguo 04/03/2010, 02:55
 
Fecha de Ingreso: octubre-2009
Mensajes: 54
Antigüedad: 14 años, 6 meses
Puntos: 2
Respuesta: Sesiones y conexion a mysql

Hola,

Podrias mostrar la parte de el codigo que te da error, para que te podamos ayudar con mas certeza
  #3 (permalink)  
Antiguo 04/03/2010, 03:04
 
Fecha de Ingreso: marzo-2010
Mensajes: 6
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Sesiones y conexion a mysql

Cita:
Iniciado por Hamil Ver Mensaje
Hola,

Podrias mostrar la parte de el codigo que te da error, para que te podamos ayudar con mas certeza
Hola, lo pongo en 2 partes. Por un lado la creacion del objeto que se conecta a la base de datos. Ahora lo hago serializando el objeto, pero es por probar porque antes lo hacia normal y el error continuaba

Código:
if (isset($_SESSION['database'])) {
   		$databaseInvitado = unserialize($_SESSION['database']);
} 
else {
   	$databaseInvitado = new MySQL($server, $user, $passw, $nombd);
        $_SESSION['database'] = serialize($databaseInvitado);
}
La clase que interacciona con la base de datos es:

Código:
class MySQL{  
   		private $conexion_; 	 
                private $servidor_;
		private $usuario_;
		private $password_;
		private $basedatos_;
		private $resultado_;
		
		
		public function MySQL ($servidor, $usuario, $password, $basedatos) {
		
			$this->servidor_ = $servidor;
			$this->usuario_ = $usuario;
			$this->password_ = $password;
			$this->basedatos_ = $basedatos;
			
			if (!isset($this->conexion_)) {
				$this->conexion_ = (mysql_connect($this->servidor_, $this->usuario_, $this->password_)) or die(mysql_error());
				mysql_select_db($this->basedatos_,$this->conexion_) or die(mysql_error());
			}
		}
   
        
    	public function consulta($consulta) {  
     
	 		$this->resultado_ = mysql_query($consulta,$this->conexion_);  
     		if(!$this->resultado_){  
     			die(mysql_error());
     		}  
        
    	}
y el error se obtiene al llamar desde una página al mñetodo consulta con el mensaje que mostré en el mensaje inicial, es decir:

Warning: mysql_query() expects parameter 2 to be resource, haciendo referencia a la llamada a mysql_query en el metodo consulta

Última edición por yauros; 04/03/2010 a las 03:14

Etiquetas: conexion, mysql, sesiones
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:45.