henbran
(usa Debian)
Enviado em 08/05/2013 - 15:10h
cheque se o teu php consta PDO
------------------------------------------------------------------------------------
crie um script
<?php
phpinfo();
?>
salve como phpinfo.php no diretório www e execute no navegador http://localhost/phpinfo.php
na tela que aparecer (meio azulada), pesquise se mostra algo sobre PDO e para qual BD tem driver, se só tiver para mySql, pesquise no google como instalar driver oracle para PDO no teu php (varia de acordo com o sistema operacional)
------------------------------------------------------------------------------------
http://php.net/manual/en/book.pdo.php
------------------------------------------------------------------------------------
depois, como no meu caso, criei uma classe Banco em um arquivo Banco.php
nessa classe criei os métodos/functions
conectar: com a assinatura nomeBanco. Dentro dessa funcion joguei um switch com as eventuais disponíveis conexões.
Também nessa classe coloquei um método sair para desligar a conexão com o BD e, um objeto publico chamado conexao.
------------------------------------------------------------------------------------
================================================================
<?php
class Banco {
public $conexao;
public $msg;
public function __construct() {
}
public function conectar($banco) {
$this->getBanco($banco)
if ($this->conexao) {
try {
$this->con->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
$this->msg = "Erro de conexão com o banco de dados: Código: " . $e->getCode() . "Mensagem " . $e->getMessage() . "hora: " . date('H:i:s');
}
} else {
echo "Erro na definição PDO do banco de dados!";
exit;
}
return $this->conexao;
}
private function getBanco($banco) {
try {
switch ($banco) {
case 'meuBancoMySql':
try {
$this->con = new PDO("mysql:host=" . "url do dataserver" . ";dbname=" . "nomeDoBanco", "user", "senha");
} catch (Exception $exc) {
$this->msg = "Erro de coneção com o banco de dados MySql. " . $exc->getTraceAsString();
}
break;
case 'meuBancoPostGreeSql':
$this->con = new PDO("pgsql:dbname={" . "nomeDoBanco" . "};user={" . "user" . "}; password={" . "senha" . "};host=" . "url do dataserver");
break;
case 'meuBancoOracle':
$tns = "(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=" . "url do dataserver" . ")(PORT=1521)))(CONNECT_DATA=(SID=" . "nomeDoBanco" . ")))";
$this->con = new PDO("oci:dbname=" . $tns, "user", "senha", array(PDO::ATTR_PERSISTENT => true));
break;
case 'mssql':
$this->con = new PDO("mssql:host={" . "url do dataserver" . "},1433;dbname={" . "nomeDoBanco" . "}", "user", "senha");
break;
}
} catch (Exception $exc) {
echo $exc->getTraceAsString();
exit;
}
}
}
?>
================================================================