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;
}
}
?>