Estou desenvolvendo uma classe que possa fazer a conexao com qualquer banco indiferentemente
para tal... preciso executar um variavel ou melhor varias...
e não estou conseguindo.
estou postando meu codigo abaixo,
talves ajude a entender melhor o que quero fazer...
<?php
class database{
private $host;
private $database;
private $user;
private $password;
private $id;
private $conecta;
private $desconecta;
private $selecionaDB;
private $executaQuery;
function __construct($Vversao){
if($Vversao == "pg"){
$this->conecta = pg_connect;
$this->desconecta = pg_close;
$this->executaQuery = pg_query;
}else if($Vversao == "mysql"){
$this->conecta = mysql_connect;
$this->desconecta = mysql_close;
$this->selecionaDB = mysql_select_db;
$this->executaQuery = mysql_query;
}else if($Vversao == "mssql"){
$this->conecta = mssql_connect;
$this->desconecta = mssql_close;
$this->selecionaDB = mssql_select_db;
$this->executaQuery = mssql_query;
}else {
echo "O construtor deve conter o tipo de banco de dados ex: new database('mysql')";
}
}
public function Conecta($Vhost,$Vuser,$Vpassword){
$this->host = $Vhost;
$this->user = $Vuser;
$this->password = $Vpassword;
if(!($this->id = $this->conecta($this->host,$this->user,$this->password))){
echo "Não foi possível estabelecer uma conexão com o DB.";
exit;
}
}
public function Conecta($Vhost,$Vuser,$Vpassword,$Vdatabase){
$this->host = $Vhost;
$this->user = $Vuser;
$this->password = $Vpassword;
$this->database = $Vdatabase;
if(!($this->id = $this->conecta($this->host,$this->user,$this->password,$this->database))){
echo "Não foi possível estabelecer uma conexão com o DB.";
exit;
}
}
public function SelecionaDB($Vdatabase){
if($Vversao!="pg"){
$this->database = $Vdatabase;
if(!($this->selecionaDB($this->database,$this->id))){
echo "Não foi possível selecionar o banco de dados";
exit;
}
}else echo"Atencão você está usando o postgresql o banco de dados deve ser selecionado durante a conexão";
}
public function Desconecta(){
if (!($this->desconecta($this->id))){
echo "não foi possivel encerrar a conexao";
exit;
}
}
public function Query($query){
$exec = $this->executaQuery($query);
return $exec;
}
}
?>
Pergunta
Mathias Brem
Galera,
Seguinte...
Estou desenvolvendo uma classe que possa fazer a conexao com qualquer banco indiferentemente
para tal... preciso executar um variavel ou melhor varias...
e não estou conseguindo.
estou postando meu codigo abaixo,
talves ajude a entender melhor o que quero fazer...
<?php class database{ private $host; private $database; private $user; private $password; private $id; private $conecta; private $desconecta; private $selecionaDB; private $executaQuery; function __construct($Vversao){ if($Vversao == "pg"){ $this->conecta = pg_connect; $this->desconecta = pg_close; $this->executaQuery = pg_query; }else if($Vversao == "mysql"){ $this->conecta = mysql_connect; $this->desconecta = mysql_close; $this->selecionaDB = mysql_select_db; $this->executaQuery = mysql_query; }else if($Vversao == "mssql"){ $this->conecta = mssql_connect; $this->desconecta = mssql_close; $this->selecionaDB = mssql_select_db; $this->executaQuery = mssql_query; }else { echo "O construtor deve conter o tipo de banco de dados ex: new database('mysql')"; } } public function Conecta($Vhost,$Vuser,$Vpassword){ $this->host = $Vhost; $this->user = $Vuser; $this->password = $Vpassword; if(!($this->id = $this->conecta($this->host,$this->user,$this->password))){ echo "Não foi possível estabelecer uma conexão com o DB."; exit; } } public function Conecta($Vhost,$Vuser,$Vpassword,$Vdatabase){ $this->host = $Vhost; $this->user = $Vuser; $this->password = $Vpassword; $this->database = $Vdatabase; if(!($this->id = $this->conecta($this->host,$this->user,$this->password,$this->database))){ echo "Não foi possível estabelecer uma conexão com o DB."; exit; } } public function SelecionaDB($Vdatabase){ if($Vversao!="pg"){ $this->database = $Vdatabase; if(!($this->selecionaDB($this->database,$this->id))){ echo "Não foi possível selecionar o banco de dados"; exit; } }else echo"Atencão você está usando o postgresql o banco de dados deve ser selecionado durante a conexão"; } public function Desconecta(){ if (!($this->desconecta($this->id))){ echo "não foi possivel encerrar a conexao"; exit; } } public function Query($query){ $exec = $this->executaQuery($query); return $exec; } } ?>Link para o comentário
Compartilhar em outros sites
4 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.