Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Amigos,
fiz uma classe para me conectar a diversas bases de dados, onde na própria classe, tenho as informações do tipo nome de usuário, nome da base, servidor, etc. Porém ao invés de eu passar um nome de usuário, banco, etc toda a vez que eu me conectar, iria passar somente um código para um determinado banco de dados.
Fiz uma classe, sugestões são bem vindas!
<?php
class conexao{
private $c_hostname;
private $c_username;
private $c_password;
private $c_database;
function __construct($c_hostname, $c_database, $c_username, $c_password){
$this->hostname = $c_hostname;
$this->username = $c_username;
$this->password = $c_password;
$this->database = $c_database;
}
}
class conectar extends conexao{
public $codigo_transacao;
static $hostname;
static $username;
static $password;
static $database;
public function codigo_transacao($codigo_transacao){
if($codigo_transacao == "CD01"){
$database = "db01";
$hostname = "localhost";
$username = "user01";
$password = "pass";
parent::setar_valores($hostname_epil,$database_epil,$username_epil,$password_epil);
}
elseif($this->codigo_transacao == "CD02"){
// Seta as variaveis de conexão.
$this->database = "db02";
$this->hostname = "localhost";
$this->username = "user02";
$this->password = "pass";
}
elseif($this->codigo_transacao == "CD03"){
// Seta as variaveis de conexão.
$this->database = "db03";
$this->hostname = "localhost";
$this->username = "user03";
$this->password = "pass";
}
}
public function iniciar_conexao(){
echo $this->$database_epil; // não funfa... :-(
}
}
?>
Sugestões são bem vindas!
por que não utiliza pdo de uma olhada aqui
Olá amigos, obrigado pelo auxilio. Porém gostaria de algo mais simples para essa função.
Já usei PDO para abstração de acesso a dados, mas queria algo mais simples Fazer as coisas em casa né..rs
Obrigado pela ajuda,
t+
Moderador, pode fechar o tópico.
Fiz da maneira abaixo e esta funcionando.
abss
<?php
class conexao{
public function set_vars($hostname_epil, $username_epil, $password_epil, $database_epil){
$this->hostname_epil = $hostname_epil;
$this->username_epil = $username_epil;
$this->password_epil = $password_epil;
$this->database_epil = $database_epil;
}
}
class conectar extends conexao{
public $codigo;
public $database_epil;
public $hostname_epil;
public $username_epil;
public $password_epil;
public function codigo_transacao($codigo){
if($codigo == "CD01"){
$database_epil = "db01";
$hostname_epil = "localhost";
$username_epil = "aaaa";
$password_epil = "cccc";
}
elseif($codigo == "CD02"){
// Seta as variaveis de conexão.
$database_epil = "db02";
$hostname_epil = "localhost";
$username_epil = "bbb";
$password_epil = "dddd";
}
}
public function iniciar_conexao(){
public $status_conexao;
public $sql_connect;
public $select_db;
// $sql_connect = mysql_connect($this->hostname_epil,$this->username_epil,$this->password_epil);
// $select_db = mysql_select_db($this->database_epil);
if($sql_connect == true){
}
echo $this->database_epil . "<br>";
echo $this->hostname_epil . "<br>";
echo $this->username_epil . "<br>";
echo $this->password_epil;
}
public function finalizar_conexao(){
// Finaliza a conexão aberta na instância.
mysql_close();
}
public function select($sql){
}
}
?>
Obrigadoo
@leonardonobre,
Dê uma olhada em PHP Orientado a Objetos, tenho certeza que lhe ajudará.
;)