Tutorial do PHP PDO

Tutorial do PHP PDO
O banco de dados é uma parte muito importante de qualquer aplicativo da web para armazenar e recuperar os dados do aplicativo. O banco de dados pode ser acessado de várias maneiras no PHP. PDO e MySQLI são as extensões PHP para acessar os bancos de dados usando PHP. O PDO (PHP Data Objects) é introduzido primeiro no PHP versão 5.1 Para fazer a conexão com o banco de dados para executar os diferentes tipos de tarefas de banco de dados. Ele fornece uma interface leve para acessar o banco de dados através de um script php. A abstração de dados do banco de dados não é fornecida pelo PDO, mas os dados podem ser acessados ​​de vários bancos de dados mais facilmente usando PDO. A maioria dos bancos de dados populares é suportada pelo PDO como MySQL, SQLite, Oracle, MS SQL Server, PostgreSQL, etc. Os benefícios do uso do PDO, a diferença entre PDO e MySQLI e a maneira de conectar e acessar o banco de dados MySQL usando PDO são descritos neste tutorial.

Benefícios do DOP

Alguns benefícios do uso da PDO para acessar os bancos de dados são mencionados no seguinte:

  • Muitas funções auxiliares existem no PDO para automatizar os diferentes tipos de tarefas de desenvolvimento.
  • Ele fornece segurança de hackers usando declarações preparadas enquanto acessam os dados do banco de dados.
  • Ele contém melhores recursos de manuseio de erros para lidar com os diferentes tipos de erros com mais eficiência.
  • Vários bancos de dados podem ser acessados ​​usando a API unificada de PDO.

Diferenças entre DOP e MySqli

PDO Mysqli
Funciona de maneira orientada a objetos. Pode funcionar de maneira orientada a objetos e processual.
Ele suporta muitos drivers de banco de dados. Ele suporta apenas MySQL.
Ele suporta a declaração preparada do lado do cliente. Não suporta a declaração preparada do lado do cliente.
É mais seguro do que mysqli. É menos seguro que o PDO.
Ele suporta os parâmetros nomeados. Não suporta os parâmetros nomeados.

Crie o banco de dados MySQL

Execute o seguinte comando SQL para criar um banco de dados chamado “teste”Para verificar os usos do PDO para executar os diferentes tipos de tarefas de banco de dados:

Criar teste de banco de dados;

Crie uma tabela

Execute o seguinte comando SQL para criar uma tabela chamada “livros" dentro de "teste" base de dados:

Crie livros de mesa (
id int (255) não nulo de chave primária Auto_increment,
Título Varchar (150) não nulo,
Autor Varchar (150) não nulo
) Mecanismo = innodb;

Faça uma conexão de banco de dados usando PDO

Crie um arquivo php com o seguinte script que faz a conexão com o “teste”Banco de dados usando PDO:

// Inicializa as variáveis ​​de conexão
$ hostname = "localhost";
$ database = "teste";
$ user = "root";
$ senha = "12345";
tentar

// Crie conexão de banco de dados usando PDO
$ db_connection = new PDO ("mysql: host = $ hostname; dbname = $ database", $ user, $ senha);

Catch (Exceção $ e) $ declaração-> Execute ([
// Mensagem de erro de impressão
eco "Não é possível se conectar com o banco de dados." . $ e-> getMessage ();

?>

Insira uma linha em uma mesa

Crie um arquivo php com o seguinte script que insere um registro no livros tabela usando uma conexão PDO. O arquivo de conexão do banco de dados está incluído no início do script usando a função incluir_once (). Uma declaração preparada para a consulta de inserção é criada para inserir um novo registro na tabela.

// Crie uma conexão de banco de dados
Incluir_once 'pdo_connect.php ';
// Defina valores para inserir um registro na tabela de livros
$ title = 'A alegria da programação PHP: um guia para iniciantes';
$ autor = 'Alan Forbes';
// Defina a consulta de inserção
$ query = 'inserir em livros (id, título, autor) valores (: id, título ,: autor)';
// Crie uma declaração preparada
$ declaração = $ db_connection-> preparar ($ query);
// execute a consulta de inserção
$ Declaração-> Execute ([
': id' => nulo,
': title' => $ title,
': autor' => $ autor
]);
eco 'um registro é inserido com sucesso';
?>

Saída:
A saída a seguir aparece após a execução do script anterior se um novo registro for inserido com sucesso:

Selecione um dados de uma tabela

Crie um arquivo php com o seguinte script que seleciona todos os registros do livros tabela usando uma conexão PDO. O arquivo de conexão do banco de dados está incluído no início do script usando a função incluir_once (). Uma declaração preparada para uma consulta selecionada é criada para ler todos os registros da tabela.

// Crie uma conexão de banco de dados
Incluir_once 'pdo_connect.php ';
// Defina a consulta para ler todos os registros
$ query = 'select * de livros';
// Crie uma declaração preparada
$ declaração = $ db_connection-> Query ($ query);
// Leia todos os registros da tabela de livros
$ books = $ declaração-> fetchall (PDO :: fetch_assoc);
if ($ books)
// iterar e imprima cada registro da tabela
foreach ($ books como $ book)
eco "Nome do livro: ".$ livro ['título'] . "
";
eco "Nome do autor: ".$ livro ['autor'] . "
";

Saída:
A saída a seguir aparece após a execução do script anterior se a tabela contiver um registro:

Atualize os dados da tabela

Crie um arquivo php com o seguinte script que atualiza um registro do livros tabela usando uma conexão PDO. O arquivo de conexão do banco de dados está incluído no início do script usando a função incluir_once (). Uma declaração preparada para uma consulta de atualização é criada para atualizar um registro da tabela de livros que contém o valor de identificação de 1.

// Crie uma conexão de banco de dados
Incluir_once 'pdo_connect.php ';
// Defina novos valores para atualizar
$ book = [
'id' => 1,
'Title' => 'Php & Mysql Novice to Ninja',
'Autor' => 'Kevin Yank'
];
// Defina a consulta de atualização
$ query = "Atualizar livros
Set title =: title, autor =: autor
Onde id =: id ";
// Crie uma declaração preparada
$ declaração = $ db_connection-> preparar ($ query);
// vinte params para a declaração preparada
$ declaração-> bindParam (': id', $ book ['id'], PDO :: param_int);
$ declaração-> bindParam (': title', $ book ['title']);
$ declaração-> bindParam (': autor', $ book ['autor']);
// Execute a consulta de atualização
if ($ declaração-> Execute ())
eco 'as informações do livro foram atualizadas.';

Saída:
A saída a seguir aparece após a execução do script anterior se o registro da tabela for atualizado com sucesso:

Exclua uma linha da tabela

Crie um arquivo php com o seguinte script que exclui um registro do livros tabela usando uma conexão PDO. O arquivo de conexão do banco de dados está incluído no início do script usando a função incluir_once (). Uma declaração preparada para a consulta de exclusão é criada para excluir um registro da tabela de livros que contém o valor de identificação de 1.

// Crie uma conexão de banco de dados
Incluir_once 'pdo_connect.php ';
// Defina consulta para excluir
$ query = 'Excluir de livros onde id =: id';
$ id = 1;
// Defina a instrução Prepare
$ declaração = $ db_connection-> preparar ($ query);
$ declaração-> bindParam (': id', $ id, pdo :: param_int);
// Execute a consulta de exclusão
if ($ declaração-> Execute ())
eco 'Um registro foi excluído.';

Saída:
A saída a seguir aparece após a execução do script anterior se o registro da tabela for excluído com sucesso:

Conclusão

Diferentes recursos do PDO e a maneira de usar o PDO para fazer conexões de banco de dados e implementar a operação CRUD são mostrados neste tutorial criando o banco de dados MySQL com uma tabela.