É um modulo da linguagem PHP responsável
por unificar o acesso a vários banco de dados utilizando uma mesma sintaxe,
atuando ainda na camada de abstração do PHP.
Vantagem
- Fornece uma biblioteca limpa e consistente, para deixar
unificadas as características das extensões que acessam os bancos de dados.
Desvantagem
- Não efetua a leitura e tradução das instruções SQL, é
apenas realizada a fusão dos métodos mandados para extensão respectiva.
Características PDO
Flexibilidade
- Como o PDO carrega driver especifico
do banco de dados em tempo de execução, não é preciso reconfigurar o PHP sempre
que um banco de dados diferente for usado.
Desempenho – O
PDO está escrito em C e compilado em PHP, o que lhe garante um aumento
considerável no desempenho em relação a sua escritas em PHP.
Consistência de
código – No PDO não existe inconsistência de código, pois é oferecida
apenas uma interface unificada que é está disponível para qualquer banco de
dados.
Características de
orientação de objetos – Possui recursos de orientação a objetos, o que
resulta em uma comunicação mais poderosa e eficiente com banco de dados.
Instalação
O PDO vem junto com o PHP 5.1 (e nas versões mais recentes),
por isso quem possuir essa versão terá apenas verificar se no php.ini possui a
linha:
extension=php_pdo.dll
extension=php_pdo_mysql.dll
Conexão para o banco de
dados POSTGRESQL
New PDO(‘pgsql: dbname=example; user=usuário;
password=senha; host=localhost’);
Fazendo a Conexão
use PDO;
class Database{
//variavel global (conexao com o BD)
public static $db;
//Nosso metodo de instancia
public function instance(){
//se não existir a conexao com o banco de dados ele cria, senão ele retorna a conexao.
if (!self::$db) {
//
$db = new Database();
//Cria a conexao
self::$db = $this->connect();
}
//
return self::$db;
}
// Nossa conexão com PDO
private function connect(){
//Instanciar o PDO, onde teste é o nome do meu banco,
$db = new PDO('pgsql:dbname=teste;user=postgres; password=pgsql;host= localhost');
//serve para tratamento de erro
$db->setAttribute(PDO::ATTR_ERRMODE, ERRMODE_EXCEPTION);
//
return $db;
}
}
//Instancia de Database
$db = new Database();
//Para inserir precisa chamar o instance
$bancodedados = $db->instance();
//inserindo dados
$bancodedados->query("insert into cliente values (123124,'Maria','F',23456676)");
?>
Agora só executar que será inserido no banco de dados....
use PDO;
class Database{
//variavel global (conexao com o BD)
public static $db;
//Nosso metodo de instancia
public function instance(){
//se não existir a conexao com o banco de dados ele cria, senão ele retorna a conexao.
if (!self::$db) {
//
$db = new Database();
//Cria a conexao
self::$db = $this->connect();
}
//
return self::$db;
}
// Nossa conexão com PDO
private function connect(){
//Instanciar o PDO, onde teste é o nome do meu banco,
$db = new PDO('pgsql:dbname=teste;user=postgres; password=pgsql;host= localhost');
//serve para tratamento de erro
$db->setAttribute(PDO::ATTR_ERRMODE, ERRMODE_EXCEPTION);
//
return $db;
}
}
//Instancia de Database
$db = new Database();
//Para inserir precisa chamar o instance
$bancodedados = $db->instance();
//inserindo dados
$bancodedados->query("insert into cliente values (123124,'Maria','F',23456676)");
?>
Agora só executar que será inserido no banco de dados....