bd != "") { $this->cadena_conexion = "host=".$this->host; if($this->usuario != "") $this->cadena_conexion .= " user=".$this->usuario; if($this->password != "") $this->cadena_conexion .= " password=".$this->password; $this->cadena_conexion .= " dbname=".$this->bd." "."port=".$this->puerto; $this->registro_actual = 0; $this->conexion_id = pg_connect($this->cadena_conexion) or die ("No se ha podido realizar la conexion a la BD $this->bd."); //echo $this->cadena_conexion; //echo $this->conexion_id; } } function desconecta( ) { pg_close($this->conexion_id); } //INICIO DEL CONSTRUCTOR function pg_conexion($h, $b, $u, $p, $pr) { $this->host = $h; $this->bd = $b; $this->usuario = $u; $this->password = $p; $this->puerto = $pr; if($this->host == "") $this->host = "10.1.13.5"; if($this->puerto == "") $this->puerto = "5432"; $this->conecta(); } //INICIO DE METODOS DE CONFIGURACION DE PARAMETROS DE CONEXION function set_usuario($u) { $this->usuario = $u; return TRUE; } function set_password($p) { $this->password = $p; return TRUE; } function set_host($h) { $this->host = $h; return TRUE; } function set_bd($b) { $this->bd = $b; return TRUE; } function set_puerto($p) { $this->puerto = $p; return TRUE; } //INICIO DE METODOS PARA CONSULTAS A LA BD function set_query($q) { $this->query = ereg_replace("'null'","null",$q); //$this->registro_actual = 0; return $this->query; } function ejecuta( ) { $this->resultado=@pg_query($this->conexion_id,$this->query); if(!$this->resultado) { $cadena = "No fue posible ejecutar la consulta: $this->query ".pg_errormessage(); $this->debugea($cadena); //print_r($this->resultado); //throw new Exception("No fue posible ejecutar la consulta: $this->query . ".pg_errormessage(), self::ERROR_EJECUTA_QUERY); } else{ $this->numero_renglones = pg_numrows($this->resultado); $this->numero_columnas = pg_numfields($this->resultado); $this->registro_actual = 0; return $this->resultado; } } function regresa_registro( ) { $salida = pg_fetch_array($this->resultado, $this->registro_actual); if($salida != -1) $this->registro_actual++; return $salida; } function rebobinar( ) { $this->registro_actual = 0; } function regresa_conexion( ) { return $this->conexion_id; } function regresa_renglones( ) { return pg_numrows($this->resultado); } function regresa_columnas( ) { return pg_numfields($this->resultado); } function debugea($wlstring) { $dt = date ( "Y-m-d H:i:s:u " ); $dia = date ( "Ymd" ); error_log ( "$dt $wlstring \n", 3, "/tmp/erroresBD$dia.log" ); } //FIN DE METODOS PARA CONSULTAS A LA BD } ?>