Veremos como se conectar ao PostgreSql que é o que eu utilizo como SGBD (sistema gerenciador de banco de dados), o pessoal tem utilizado muito o MySql que também é excelente, gosto mais do PostgreSql devido aos padrões mantidos estarem mais próximos do SQL. (Se ainda não tem instalado baixe em PostgreSql).
Bem, o postgre como muitos (ou todos) os SGBD’s devem receber como parâmetros os dados de conexão, tais como, usuário, senha, host, port, base.
No PHP o comando utilizado para conectar-se ao PostgreSql é o pg_connect(“parâmetros”), então nada melhor do que começarmos e iremos fazer isso com uma classe (Classes c/ PHP5) !
O arquivo conexao.class.php (o .class é apenas para identificarmos o arquivo como uma classe).
Class Conexao
{
protected $host = “localhost”;
protected $user = “postgres”;
protected $pswd = “postgres”;
protected $dbname = “teste”;
protected $con = null;
function __construct(){} //método construtor
#método que inicia conexao
function open(){
$this->con = @pg_connect(“host=$this->host user=$this->user
password=$this->pswd dbname=$this->dbname“);
return $this->con;
}
#método que encerra a conexao
function close(){
@pg_close($this->con);
}
#método verifica status da conexao
function statusCon(){
if(!$this->con){
echo “
O sistema não está conectado à [$this->dbname] em [$this->host].
”;exit;
}
else{
echo “
O sistema está conectado à [$this->dbname] em [$this->host].
”;}
}
}
?>
Set os valores das variáveis host, user, pswd e dbname
host = geralmente localhost ou seu ip
user = usuário que criou ao instalar o postgre
pwsd = senha do usuário do postgre
dbname = a base que deseja se conectar no postgre
Como eu havia dito pg_connect() é o método PHP que conecta-se ao PostgreSql, o ‘@’ antes do método serve para inibir/ocultar as mensagens de erro do método caso ocorram durante a tentativa de conexao. Você pode retira-la e testa-la informando algum valor incorreto nas variáveis de conexão. Geralmente ocultamos essas mensagens para que um visitante ao acessar seu sistema não veja os parâmetros utilizados ou nomes de váriaveis que você utiliza na conexão, em outras palavras, ocultamos as mensagens por segurança. Existem outras formas de tratar os erros e as mensagens com segurança, mas isso não será abordado aqui. Ao menos nesse post, não!
Os valores contidos como parâmetros em pg_connect() são os valores das variáveis setadas no inicio da classe. Seria interessante criar métodos para setar os valores de variáveis de conexao apenas se você precisasse utilizar mais de um banco (não base, banco) na sua aplicação, para evitar criar 2 classes diferentes poderiamos fazer um método do tipo setUserBanco(), setHostBanco(“localhost 2″), entendeu ? ok!
Mas como trata-se apenas de 1 conexão, seria muitos métodos para pouca coisa!
O método open() retorna o estado da conexao (true ou false), com isso podemos através do método statusCon() saber se a conexao está ativa ou não.
O método close(), como você imaginou encerra a conexao chamando o método PHP pg_close();
Crie agora o arquivo index.php para testarmos a conexao
#incluindo a classe conexao (supondo estar no mesmo diretorio)
include(‘conexao.class.php’);
#instanciando o objeto
$minhaConexao = new Conexao();
#chamada ao metodo open que abra a conexao
$minhaConexao->open();
#verificando o status da conexao
$minhaConexao->statusCon();
#encerrando a conexao
$minhaConexao->close();
#verificando a conexao apos close();
$minhaConexao->statusCon();
?>
É isso pessoal, bem simples e num post futuro veremos como gravar/editar/atualizar/excluir registros de uma tabela usando o PHP e PostgreSql.
Seu comentário será moderado e poderá não ser aprovado.