PHP é uma linguagem de script de código aberto de uso geral, amplamente usada para criar páginas da web dinâmicas e interativas. PHP pode acessar uma grande variedade de sistemas de gerenciamento de banco de dados relacionais, como MYSQL, SQLite , e PostgreSQL . O PHP 5.1 versão ofereceu uma nova biblioteca de abstração de conexão de banco de dados, que é Objetos de dados PHP (DOP).
O que é DOP?
DOP refere-se a Objeto de dados PHP , que é uma extensão PHP que define uma interface leve e consistente para acessar um banco de dados em PHP. É um conjunto de extensões PHP que fornecem uma classe PDO central e um driver específico de banco de dados. Cada driver de banco de dados pode expor recursos específicos do banco de dados como uma função de extensão regular que implementa a interface PDO.
Nota: Não podemos realizar nenhum tipo de função de banco de dados usando a própria extensão PDO. Para acessar um servidor de banco de dados, devemos usar um driver PDO específico do banco de dados.
O PDO concentra-se principalmente na abstração de acesso a dados, em vez de abstração de banco de dados. Ele fornece camada de abstração de acesso a dados , o que significa que, independentemente de qual banco de dados estamos usando, temos que usar as mesmas funções fornecidas por esse banco de dados para emitir consultas e buscar dados. O PDO não fornece abstração de dados, pois não reescreve o SQL nem emula recursos ausentes.
classe vs objeto java
Vantagem do DOP
O PDO fornece várias maneiras de trabalhar com objetos e recupera instruções preparadas que facilitam muito o trabalho. É uma ferramenta de acesso a bancos de dados em PHP através da qual possibilitamos o acesso uniforme em diversos bancos de dados.
O PDO permite uma alternância comparativamente perfeita entre diferentes bancos de dados e plataformas, o que pode ser feito facilmente alterando a cadeia de conexão. Ele não oferece suporte a sintaxes específicas de banco de dados.
Existem algumas vantagens do DOP como segue:
A extensão PDO pode acessar qualquer banco de dados escrito para o driver PDO. Existem vários drivers PDO disponíveis que são usados para FreeTDS, Microsoft SQL Server, Sybase, IBM DB2, Oracle Call Interface, Firebird/Interbase 6 , e PostgreSQL bancos de dados, entre muitos mais.
Os drivers não estão disponíveis automaticamente em todos os sistemas, então temos que encontrar nossos drivers disponíveis e adicioná-los quando precisarmos deles.
Existem diferentes sintaxes disponíveis para estabelecer a conexão com o banco de dados. Essas sintaxes dependem de bancos de dados específicos. Ao usar o PDO, as operações devem ser agrupadas em blocos try/catch e utilizar a técnica de exceção.
Normalmente, apenas uma única conexão precisa ser criada, e essas conexões são fechadas programando o banco de dados para ser definido como nulo.
O PDO permite usar exceções para tratamento de erros. Para produzir uma exceção, o PDO pode ser forçado a entrar em um atributo de modo de erro relevante.
Existem três modos de erro, ou seja, Silencioso (padrão), Aviso , e Exceção . Aviso e Exceção são mais úteis na programação DRY.
O PDO reduz a operação de inserção e atualização de banco de dados comumente usada em um processo de duas etapas, ou seja,
Preparar >> [Vincular] >> Executar.
Através deste método, podemos aproveitar ao máximo as instruções preparadas do PDO, que protegem contra ataques maliciosos através de injeção de SQL.
Instruções preparadas são instruções SQL pré-compiladas que podem ser executadas várias vezes enviando esses dados ao servidor. Esses dados, que são usados no espaço reservado, são automaticamente protegidos contra ataques de injeção de SQL.
Benefícios de usar DOP
PDO é o driver de banco de dados nativo. Existem alguns benefícios de usar o PDO que são fornecidos abaixo:
Aulas DOP
Existem três classes de DOP, que são fornecidas abaixo:
Bancos de dados suportados pelo PDO
- MySQL
- PostgreSQL
- Oráculo
- Pássaro de fogo
- Servidor SQL MS
- Sybase
- Informix
- IBM
- TDS grátis
- SQLite
- Cubrido
- 4D
Comparação entre DOP e MySQLi
Para acessar o banco de dados usando PHP, temos principalmente duas opções - MySQLi e DOP (Objeto de dados PHP). MySQLi é um nativo para PHP que oferece desempenho mais rápido, enquanto a maioria dos desenvolvedores experientes prefere trabalhar com PDO, pois suporta uma ampla variedade de drivers de banco de dados. Existem algumas diferenças entre PDO e MySQLi listadas abaixo com base em seus recursos.
Características | DOP | MySQLi |
---|---|---|
Suporte de banco de dados | 12 drivers diferentes | Apenas MySQL |
Conexão | Fácil | Fácil |
API | ABRIR | POO + Procedimento |
Desempenho | Rápido | Rápido |
Parâmetro nomeado | Sim | Não |
Mapeamento de objetos | Sim | Sim |
Procedimento armazenado | Sim | Sim |
Declarações preparadas pelo lado do cliente | Sim | Não |
Segurança | Mais seguro que MySQLi. | Seguro, mas não mais que DOP. |
Qual deve ser preferido entre PDO ou MySQLi?
Tanto o PDO quanto o MySQLi têm suas próprias vantagens:
- Como vimos anteriormente, o PDO funciona em 12 sistemas de banco de dados diferentes, enquanto o MySQL pode funcionar apenas com banco de dados MySQL. Então, se quisermos mudar nosso projeto para outro banco de dados, o PDO facilita isso. No MySQLi, temos que reescrever todo o código.
- PDO e MySQLi são orientados a objetos, mas MySQLi também oferece API processual. Ambos suportam declarações preparadas. As instruções preparadas são importantes para a segurança de aplicações web, pois protegem contra injeção de SQL.
Requerimento
Não há necessidade de bibliotecas externas para construir esta extensão.
Processo de instalação
Passo 1: Baixe o servidor XAMPP mais recente aqui https://www.apachefriends.org/download.html para diferentes plataformas como Windows, Linux e MacOS.
Nota: Aqui discutiremos o processo de instalação apenas para o sistema operacional Windows.
Passo 2: Instale o servidor XAMPP em seu sistema seguindo estas etapas.
array.de java
Etapa 3: Selecione os componentes que deseja instalar e clique no botão Avançar.
Passo 4: Crie a nova pasta com o nome xampp no local onde deseja instalar o XAMPP.
Etapa 5: Clique em Avançar aqui e siga em frente. A instalação do servidor XAMPP começará aqui.
listar java para array
Etapa 6: O XAMPP foi instalado com sucesso. Clique no botão Concluir.
Etapa 7: Selecione o idioma preferido.
Etapa 8: Execute o servidor Apache e MySQL a partir daqui (conforme a captura de tela fornecida).
Etapa 9: Agora, abra php.ini em C:/xampp/php/php.ini (onde você instalou seu XAMPP) e descomente a extensão 'php_pdo_mysql.dll' e 'php_pdo.dll' (se você estiver trabalhando com banco de dados MySQL), ou 'php_pdo_oci.dll' (se você estiver trabalhando com banco de dados Oracle). Agora, comece a trabalhar com o banco de dados. Na versão superior do PHP 5.1, já está definido.
Trabalhando com DOP
Primeiramente precisamos criar um banco de dados, então crie um banco de dados com o nome myDB a partir daqui.
Conexão de banco de dados
Uma conexão com o banco de dados é sempre necessária para interagir com o banco de dados. Portanto, precisamos saber o identificador de acesso ao banco de dados, ou seja, localização do banco de dados, nome do banco de dados, nome de usuário e senha.
Agora, crie o programa de conexão de banco de dados usando PDO em qualquer editor de texto como notepad ou notepad++ e salve-o com o nome coonection.php. Execute-o no servidor XAMPP usando localhost/80.
Exemplo
getMessage(); } ?>
Saída
Execute-o no servidor usando o seguinte URL localhost/Xampp/pdoexample/connection.php/ ou onde você salvou seu programa.
Tratamento de erro de conexão
Um objeto PDOException será lançado se houver algum erro de conexão. Podemos capturar a exceção se quisermos tratar a condição de erro, ou também podemos deixá-la para o manipulador de exceção global, que pode ser configurado por set_exception_handler() função.
int para string em java
Exemplo
Neste exemplo, dbUser(user-id) está errado, então lançará uma exceção, como podemos ver na saída.
setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); Echo 'Successfully connected with myDB database'; } catch(Exception $e){ Echo 'Connection failed' . $e->getMessage(); } ?>
Fechando a conexão com o banco de dados
getMessage(); } // this command close the connection. $dbConn = null; ?>
Saída