Beruflich Dokumente
Kultur Dokumente
34>getPassword());
}
35
catch (PDOException $i)
36
{
37
//se houver exceo, exibe
die("Erro: <code>" . $i->getMessage() . "</code>");
38
}
39
40
return ($this->conexao);
41
}
42
43
private function disconnect(){
44
$this->conexao = null;
}
45
46}
47?>
48
49
50
51
Veja a definio das variveis privadas usadas para conexo na Listagem 4:
dbtype - define uma string que informa qual a plataforma de banco de dados que
estamos usando. Para o MySQL usamos a string mysql e para o SQL Server
usamos a string mssql. Veja nesse link
http://br.php.net/manual/en/pdo.drivers.php os drives de banco de dados
suportados pelo PDO
host - define o nome do host
port - define a porta do host
user - define o usurio de acesso ao banco de dados
password - define a senha de acesso ao banco de dados
db - define o nome do banco de dados
7
/*Mtodo que destroi a conexo com banco de dados e remove da
8
memria
todas as variveis setadas*/
9
public function __destruct() {
10
$this->disconnect();
11
foreach ($this as $key => $value) {
unset($this->$key);
12
}
13
}
14
15
private static $dbtype
= "mysql";
16
private static $host
= "localhost";
17
private static $port
= "3306";
private static $user
= "root";
18
private static $password = "123";
19
private static $db
= "teste";
20
21
/*Metodos que trazem o conteudo da variavel desejada
22
@return
$xxx = conteudo da variavel solicitada*/
23
private function getDBType() {return self::$dbtype;}
private function getHost()
{return self::$host;}
24
private
function
getPort()
{return self::$port;}
25
private function getUser()
{return self::$user;}
26
private function getPassword(){return self::$password;}
27
private function getDB()
{return self::$db;}
28
29
private function connect(){
try
30
{
31
$this->conexao = new PDO($this32>getDBType().":host=".$this->getHost().";port=".$this33>getPort().";dbname=".$this->getDB(), $this->getUser(), $this34>getPassword());
}
35
catch (PDOException $i)
36
{
37
//se houver exceo, exibe
38
die("Erro: <code>" . $i->getMessage() . "</code>");
}
39
40
return ($this->conexao);
41
}
42
43
private function disconnect(){
44
$this->conexao = null;
45
}
46
/*Mtodo select que retorna um VO ou um array de objetos*/
47
public function selectDB($sql,$params=null,$class=null){
48
$query=$this->connect()->prepare($sql);
49
$query->execute($params);
50
51
if(isset($class)){
52
$rs = $query->fetchAll(PDO::FETCH_CLASS,$class) or
die(print_r($query->errorInfo(),
true));
53
}else{
54
$rs = $query->fetchAll(PDO::FETCH_OBJ) or
55die(print_r($query->errorInfo(), true));
56
}
self::__destruct();
57
return $rs;
58
}
59
60
/*Mtodo insert que insere valores no banco de dados e retorna o
61ltimo id inserido*/
public function insertDB($sql,$params=null){
62
$conexao=$this->connect();
63
$query=$conexao->prepare($sql);
64
$query->execute($params);
65
$rs = $conexao->lastInsertId() or die(print_r($query66>errorInfo(), true));
self::__destruct();
67
return $rs;
68
}
69
70
/*Mtodo update que altera valores do banco de dados e retorna o
71nmero de linhas afetadas*/
72
public function updateDB($sql,$params=null){
$query=$this->connect()->prepare($sql);
73
$query->execute($params);
74
$rs = $query->rowCount() or die(print_r($query->errorInfo(),
75true));
76
self::__destruct();
return $rs;
77
}
78
79
/*Mtodo delete que exclu valores do banco de dados retorna o
80
nmero de linhas afetadas*/
81
public function deleteDB($sql,$params=null){
82
$query=$this->connect()->prepare($sql);
$query->execute($params);
83
$rs = $query->rowCount() or die(print_r($query->errorInfo(),
84
true));
85
self::__destruct();
86
return $rs;
87
}
88}
89?>
90
91
92
93