Fala Pessoal
Hoje vamos aprender um pouco sobre PDO.
O PDO é a extensão de acesso a banco de dados mais utilizado na linguagem de programação PHP.
A utilização do PDO fornece uma camada de abstração em relação a conexão com o banco de dados visto que o PDO efetua a conexão com diversos bancos de dados da mesma maneira, modificando apenas a sua string de conexão.
Devo usar MySQLi ou PDO?
Se você precisar de uma resposta curta, seria "O que você quiser".
Tanto o MySQLi quanto o PDO têm suas vantagens:
O PDO funcionará em 12 sistemas de banco de dados diferentes, enquanto o MySQLi funcionará apenas com bancos de dados MySQL.
Portanto, se você precisar mudar seu projeto para usar outro banco de dados, o PDO facilita o processo. Você só precisa alterar a string de conexão e algumas consultas. Com o MySQLi, você precisará reescrever todo o código - consultas incluídas.
Muitas pessoas ficam um pouco intimidadas em usar o PDO de início, não por se tratar de uma API difícil de usar, muito pelo contrário, pois é muito fácil de usar, mas sim porque a API mysql é muito fácil de usar e as pessoas acabam se acostumando com ela.
Primeiro vamos ver como se conectar usando o PDO. Nós vamos criar uma nova instância de classe e especificar o driver que vamos usar, no caso o mysql, o nome do banco de dados, nome de usuário e senha.
Como vimos, também é muito simples se conectar usando o PDO, mas como em toda conexão, é preciso tratar os erros, para se caso aconteça algum erro na conexão, mostrar isso ao usuário.
Vamos criar uma Função Conexao e vamos usar o try..catch, usado nas linguagens orientada a objetos para tratar Erros.
function Conexao(){
try {
$pdo = new PDO('mysql:host=localhost;dbname=lojavirtual','root','');
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
return $pdo;
} catch (PDOException $ex){
echo 'Erro ao Conectar com o Banco de Dados: ';
//echo $ex->getMessage();
}
};
e Pronto!!! é interessante criar um arquivo de conexão separado como Conexao.php.
Para fins de Teste, vamos criar um banco como nome lojavirtual e uma tabela com o nome de produtos.
Vamos ultilizar o Mysql que vem no Xampp, Abra o Terminal Shell do Xampp e cole o código abaixo:
Logo após insira o comando abaixo, para criar o banco lojavirtual
Agora com o comando abaixo, vamos criar a Tabela Produtos:
e Pronto!!! Banco e Tabela criado.
Agora vamos Testa a conexão com o Banco com as 4 Operação de um Crud "CREATE,READ,UPDATE,DELETE"
Crie um arquivo com o nome insert.php
require_once 'conexao.php';
function Insert(){
try {
$sql = 'INSERT INTO produtos(nome,valor,quantidade) VALUES (?,?,?);';
$enviar = Conexao()->prepare($sql);
$enviar->bindValue(1,'Arroz');
$enviar->bindValue(2, '10');
$enviar->bindValue(3, '50');
$enviar->execute();
} catch (PDOException $ex){
echo 'Erro '.$ex->getMessage();
}
};
Insert();
Crie um arquivo com o nome select.php
require_once 'conexao.php';
function Select(){
$sql = "SELECT * FROM produtos";
$enviar = Conexao()->prepare($sql);
$enviar->execute();
$result = $enviar->fetchAll(\PDO::FETCH_ASSOC);
foreach($result as $value){
echo 'Nome: '. $value['nome'];
echo ' Valor: '. $value['valor'];
echo ' Quantidade: '.$value['quantidade'] ."<br>";
}
};
Select();
Crie um arquivo com o nome update.php
require_once 'conexao.php';
function Update(){
$sql = 'UPDATE produtos SET nome = ? WHERE id = 1';
$enviar = Conexao()->prepare($sql);
$enviar->bindValue(1, 'Farinha');
$enviar->execute();
};
Update();
Crie um arquivo com o nome deletar.php
require_once 'conexao.php';
function Delete(){
$sql = 'DELETE FROM produtos WHERE id = ? ';
$enviar = Conexao()->prepare($sql);
$enviar->bindValue(1, '1');
$enviar->execute();
};
Delete();
Agora é só testar!
Forte Abraço a Todos!!!