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.