Aula 07 - Realizando persistência de dados (vanilla)
Nessa aula iremos abordar como utilizar a persistência de dados utilizando o MySQL e um driver já fornecido pelo PHP por meio de uma função chamada "mysqli". Essa forma de conectar-se ao banco de dados é eficiente, porém não é recomendada para aplicações de maior porte.
1- Instalação da base de dados
A primeira coisa que devemos ter em nossa máquina é o banco de dados instalado e configurado. Recomendo-lhes baixar o banco de dados do site oficial do MySQL. Para esse exemplo estarei utilizando o MySQL 5.7.
2- Criando o banco de dados e a tabela
O banco de dados pode ser operado via linha de comando ou utilizando o MySQL workbench. Abaixo o código SQL para geração do banco de dados e tabela:
Create Database phpmysql;
use phpmysql;
CREATE TABLE`phpmysql`.`pessoa` (
`idpessoa` INT NOT NULL AUTO_INCREMENT,
`nome` VARCHAR(200) NULL,
PRIMARY KEY (`idpessoa`))
3- Criando um formulário em php para inserir
O formulário php é muito simples e recebe os dados enviados para ele mesmo por POST e faz uma transação com o banco de dados. Veja o exemplo de código:
<html>
<head>
<meta charset="UTF-8">
<title>Inserindo no banco de dados</title>
</head>
<?php
if (isset($_POST['nome'])) {
$servername = "localhost";
$username = "root";
$password = "12345";
$dbname = "phpmysql";
$conn = new mysqli($servername, $username, $password, $dbname);
$nome = $_POST['nome'];
$sql = "insert into pessoa (nome) values ('" . $nome . "');";
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
if ($conn->query($sql) === TRUE) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
$conn->close();
}
?>
<body>
<form action="index.php" method="POST">
<input name="nome" type="text" placeholder="Digite o nome"/>
<input type="submit">
</form>
</body>
</html>
<html>
<head>
<meta charset="UTF-8">
<title>Inserindo no banco de dados</title>
</head>
<?php
if (isset($_POST['nome'])) {
$servername = "localhost";
$username = "root";
$password = "12345";
$dbname = "phpmysql";
$conn = new mysqli($servername, $username, $password, $dbname);
$nome = $_POST['nome'];
$sql = "insert into pessoa (nome) values ('" . $nome . "');";
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
if ($conn->query($sql) === TRUE) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
$conn->close();
}
?>
<body>
<form action="index.php" method="POST">
<input name="nome" type="text" placeholder="Digite o nome"/>
<input type="submit">
</form>
</body>
</html>
Vale a pena notar alguns detalhes:
1- A conexão com a base de dados é feita quando a variável "nome" existe na variável do PHP $_POST.
2- A SQL criada é uma string qualquer e utiliza o parâmetro para inserir no banco
3- As técnicas de reaproveitamento de código não foi aplicada neste exemplo.
4- Conclusão
O exemplo criado é feito sem utilizar nenhum framework ou driver externo, sendo assim chamamos essa implementação de vanilla. Essa forma de persistência muitas vezes não é a mais indicada, recomendamos que o aluno busque formas de otimizar a persistência, visto que conectar-se a um banco de dados é muito "caro" para a aplicação.
Post a Comment