O documento apresenta as principais funcionalidades do PDO para conexão e manipulação de dados em bancos de dados no PHP, comparando-o com o MySQLi. Explica como conectar, preparar e executar queries, recuperar e fechar cursores, e inserir e recuperar dados.
5. O QUE É O PDO?
• PDO: PHP Data Objects.
• Interface leve e consistente para acessar bancos de dados em
PHP.
• As funções são as mesmas para cada banco suportado.
• Disponível a partir do PHP 5.1
6. PDO X MYSQLI
PDO
• Suporta 12 bancos de dados
• API orientada o objetos
• Suporta parâmetros
nomeados
• É mais seguro
MYSQLI
• Suporta 1 banco de dado
• API orientada o objetos e
procedural
• Não suporta parâmetros
nomeados
• É mais vulnerável
7. CONECTANDO AO BANCO
• $variavel = new PDO(...);
• Realiza a conexão com o banco de dados desejado ao informar
o drive do banco desejado, o nome do banco de dados, nome
de usuário e senha do banco e as opções extras caso deseje.
8. PREPARANDO A QUERY
• ->prepare();
• Realiza uma validação da query informada. Caso a query não
seja válida, será retornado false. Caso contrário, o objeto
PDOStatement será retornado para que a query seja executada.
9. RETORNANDO OS DADOS
• ->fetchAll(): retorna todos os registros obtidos
• ->fetch(): retorna apenas o primeiro registro obtido
• Formas de retorno:
• PDO::FETCH_ASSOC, PDO::FETCH_BOTH, PDO::FETCH_BOUND,
PDO::FETCH_CLASS, PDO::FETCH_INTO, PDO::FETCH_LAZY,
PDO::FETCH_NAMED, PDO::FETCH_NUM, PDO::FETCH_OBJ,
PDO::FETCH_PROPS_LATE
10. FECHANDO O CURSOR
• ->closeCursor();
• Possibilita a execução de uma nova query na mesma conexão
com o banco
• Ex: realizar um cadastro e fazer a sua seleção em seguida
11. ENCERRANDO A CONEXÃO COM O BANCO
• A conexão permanecerá ativa enquanto o objeto de conexão
estiver em uso. Ao encerrar, o PHP encerra a conexão
automaticamente.
• Se preferir, é possível destruir o objeto atribuindo o valor NULL
a ele
12. VINCULAÇÃO DE VALOR AO PARÂMETRO
• ->bindValue(...,...,...);
• Os parâmetros na query podem ser nomedos (‘:name’) ou não
(‘?’).
• Na utilização de (‘?’) os parâmetros deverão ser numerados.
• Constantes:
• PDO::PARAM_BOOL, PDO::PARAM_NULL, PDO::PARAM_INT,
PDO::PARAM_STR, PDO::PARAM_LOB, e outras 67 constantes.
13. RETORNANDO O ID DO ULTIMO REGISTRO
INSERIDO
• ->lastInsertId();
• Função deve vir após o execute();