Curso de Programação Web com PHP

Como salvar dados no banco em PHP

Nessa aula iremos abordar como salvar dados no banco em PHP utilizando o MySQL como base de dados 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. 

Instalação da base de dados

A primeira coisa que devemos ter em nossa máquina é o banco de dados instalado e configurado. Recomendo baixar o banco de dados do site oficial do MySQL. Para esse exemplo estarei utilizando o MySQL 5.7.  

Caso você precise instalar o banco de dados, acesse: MySQL installer

Como criar o banco de dados e as 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`)
)    

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>        

Vale a pena notar alguns detalhes:   

  • A conexão com a base de dados é feita quando a variável “nome” existe na variável do PHP $_POST.
  • A SQL criada é uma String qualquer e utiliza o parâmetro para inserir no banco
  • As técnicas de reaproveitamento de código não foi aplicada neste exemplo.

Assim, podemos dizer que esse tipo de código é bastante utilizado por “principiantes” dentro da programação. Isso porquê existem diversos problemas de segurança relacionados a esse código, por exemplo, o SQL INJECT. Outro ponto importante é que construir uma aplicação usando essa “arquitetura” é completamente inviável, pois haveria muita repetição de código.

Conclusão

O exemplo de como salvar dados no banco em PHP é também chamado de “Vanilla” em alguns lugares, isso porque não usa nenhum nenhum framework ou driver externo. 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.  

Esse post foi modificado em 7 de junho de 2021 17:49

This website uses cookies.