Cree este script y me funciona muy bien lo publico aqui y explico que hago creo una conexion orientada a objetos y alamanceno en una constante las variables de la conexion y en la hoja donde creo las sentencias hago el llamado de las funciones que cree en conexion aqui le dejo el codigo a mi me ha funcionado no ha dado errores pero pueden criticarlo si debo mejorarle algo
esta es la hoja conexion.php
<?php
class BaseDeDato
{
private $Servidor;
private $Puerto;
private $Nombre;
private $Usuario;
private $Clave;
function __construct($Servidor,$Puerto,$Nombre,$Usuario,$Clave)
{
$this->Servidor=$Servidor;
$this->Puerto=$Puerto;
$this->Nombre=$Nombre;
$this->Usuario=$Usuario;
$this->Clave=$Clave;
}
function Conectar()
{
$BaseDato=pg_connect("host=$this->Servidor port=$this->Puerto dbname=$this->Nombre user=$this->Usuario password=$this->Clave");
return $BaseDato;
}
function Consultas($Consulta)
{
$Valor=$this->Conectar();
if(!$Valor)
return 0; //Si no se pudo conectar
else
{
//Valor es resultado de base de dato y Consulta es la Consulta a realizar
$Resultado=pg_query($Valor,$Consulta);
return $Resultado;// retorna si fue afectada una fila
}
}
}
?>
constante.php
<?php
define("BD","RBP");
define("SERVIDOR","localhost");
define("USUARIO","postgres");
define("CLAVE","12345");
define("PUERTO","5432");
?>
classusuario.php
<?php
include_once("ClassBaseDeDato.php");
include("../Constantes.php");
class Usuario
{
private $login;
private $contrasena;
private $cedula;
private $tipo;
private $status;
function __construct($login,$contrasena,$cedula,$tipo,$status)
{
$this->login=ucwords($login);
$this->contrasena=md5($contrasena);
$this->cedula=$cedula;
$this->tipo=$tipo;
$this->status=$status;
}
function Insertar()
{
$BaseDato=new BaseDeDato(SERVIDOR,PUERTO,BD,USUARIO,CLAVE);//declarar el objeto de la clase base de dato
$Consulta="INSERT INTO cuentausuario VALUES ('$this->login','$this->contrasena','$this->cedula','$this->tipo','Inactivo')";//declarar la consulta
$ExisteCedula=$this->Existencia('cedula');
$ExisteLogin=$this->Existencia('login');
$ExisteContrasena=$this->Existencia('contrasena');
if (!$ExisteCedula&&!$ExisteLogin&&!$ExisteContrasena)//si los dos resultados son cero Inserta los datos
{
$Resultado=$BaseDato->Consultas($Consulta);
if(pg_affected_rows($Resultado)>=0)//Si resulto almenos una fila afectada
return 1;
else
return 0;
}
if($ExisteCedula&&$ExisteLogin)// si los dos resultados son 1
return -1;
else
if(!$ExisteCedula&&$ExisteLogin)// si $ExisteCedula es igual a cero y el otro no
return -2;
else
if($ExisteCedula&&!$ExisteLogin)// si $ExisteLogin es igual a cero y el otro no
return -3;
}
function Modificar()
{
include_once('../php/conexion.php');
$resultado=pg_query($conexion,"UPDATE cuentausuario SET contrasena='$this->contrasena', tipo='$this->tipo'
WHERE login='$this->login'");
if(pg_affected_rows($resultado)>=0)
return 1;
else
return 0;
}
function Eliminar()
{
require_once('../php/conexion.php');
$resultado=pg_query($conexion,"DELETE FROM cuentausuario WHERE login='$this->login'");
if(pg_affected_rows($resultado)>=0)
return 1;
else
return 0;
}
function Buscar()
{
$BaseDato=new BaseDeDato(SERVIDOR,PUERTO,BD,USUARIO,CLAVE);//declarar el objeto de la clase base de dato
$Consulta="SELECT * FROM cuentausuario AS a,privilegio AS b, personal as c WHERE (a.login='$this->login') AND
(a.contrasena='$this->contrasena') AND (a.login=b.login) and (a.cedula=c.cedula)";//declarar la consulta
$Resultado=$BaseDato->Consultas($Consulta);//llamar a la funcion de la base de dato que realiza las consulta
$Datos=@pg_fetch_all($Resultado);//Devuelve los datos en forma de arreglo
if($Datos[0]['login'])//verificar si arrojo algun resultado
return $Datos;
else
return 0;
}
function BuscarUsuario()
{
$BaseDato=new BaseDeDato(SERVIDOR,PUERTO,BD,USUARIO,CLAVE);//declarar el objeto de la clase base de dato
if($this->Login!="")
{
$Condicion=$Condicion."a.login LIKE"."'$this->Login%'";
$Operador="AND";
}
if($this->Nombre!="")
{
$Condicion=$Condicion." ".$Operador." a.nombre LIKE"."'$this->Nombre%'";
$Operador="AND";
}
if($this->Cedula!="")
{
$Condicion=$Condicion." ".$Operador." a.cedula LIKE"."'$this->Cedula%'";
$Operador="AND";
}
if($this->Tipo!="")
{
$Condicion=$Condicion." ".$Operador." a.tipo="."'$this->Tipo'";
$Operador="AND";
}
$Consulta="SELECT * FROM cuentausuario AS a,privilegio AS b WHERE ".$Condicion." AND (a.login=b.login)";//declarar la consulta
$Resultado=$BaseDato->Consultas($Consulta);//llamar a la funcion de la base de dato que realiza las consulta
$Datos=@pg_fetch_all($Resultado);//Devuelve los datos en forma de arreglo
if($Datos[0]['login'])//verificar si arrojo algun resultado
return $Datos;
else
return 0;
}
function Existencia($Condicion)
{
$BaseDato=new BaseDeDato(SERVIDOR,PUERTO,BD,USUARIO,CLAVE);
if($Condicion=='login')
$Condicion="login="."'$this->login'";
else
if($Condicion=='cedula')
$Condicion="cedula="."'$this->cedula'";
else
$Condicion="contrasena="."'$this->contrasena'";
$Consulta="SELECT *FROM cuentausuario WHERE ".$Condicion;
$Resultado=$BaseDato->Consultas($Consulta);//llamar a la funcion de la base de dato que realiza las consulta
$Datos=@pg_fetch_all($Resultado);//Devuelve los datos en forma de arreglo
if($Datos[0]['login'])
return 1;
else
return 0;
}
function BuscarTodo()
{
$BaseDato=new BaseDeDato(SERVIDOR,PUERTO,BD,USUARIO,CLAVE);//declarar el objeto de la clase base de dato
$Consulta="SELECT * FROM privilegio";//declarar la consulta
$Resultado=$BaseDato->Consultas($Consulta);//llamar a la funcion de la base de dato que realiza las consulta
$Datos=@pg_fetch_all($Resultado);//Devuelve los datos en forma de arreglo
if($Datos[0]['login'])//verificar si arrojo algun resultado
return $Datos;
else
return 0;
}
}
?>