Curso de PHP- Inserir dados em um banco de dados MySQL

Inserindo dados no Banco de Dados MySQL

Nesta lição vamos aprender a inserir dados (cadastrar) no banco de dados. Trata-se de uma operação extremamente comum e importante, e nós vamos inserir no banco dados provenientes de um formulário HTML. Usando nosso banco de dados de exemplo das lições anteriores, vamos efetuar o cadastro de dados a partir dos valores inseridos no Formulário de Cadastro de Clientes, cujos dados serão inseridos na tabela cadastro do banco de dados banco_teste, que possui os campos NomeCliente, SobrenomeCliente e Sexo.
SHOW COLUMNS FROM cadastro - MySQL

Campos da tabela cadastro

Usaremos o comando SQL a seguir: INSERT INTO cadastro (NomeCliente, SobrenomeCliente, Sexo) VALUES '$nome', '$sobrenome', '$sexo';  Onde $nome, $sobrenome e $sexo são os valores obtidos a partir do formulário de cadastro de nossa página de exemplo:
Formulário Cadastro - MySQL e PHP
A seguir temos o código da página que contém o formulário de cadastro de clientes, conforme exibida na figura anterior:
<!DOCTYPE html>
<html lang="pt-br">
<head>
  <meta charset="utf-8">
  <title> Testando conexão ao banco de dados </title>
</head>
<body>
  <h3>Formulário de Cadastro de Clientes</h3><br>
  <form name="Cadastro" action="cadastrar.php" method="POST">
    <label>Nome do Cliente: </label>
    <input type="text" name="NomeCliente" size="30"><br>
    <label>Sobrenome do Cliente: </label>
    <input type="text" name="SobrenomeCliente" size="45"><br>
    <label>Sexo do Cliente: </label>
    <select name="Sexo">
      <option value="M">Masculino</option>
      <option value="F">Feminino</option>
      <option value="N">Não Declarado</option>
    </select><br>
    <input type="submit" name="enviar" value="Enviar">
  </form>
</body>
</html>
Ao clicar no botão Enviar, os dados são enviados para processamento por um script PHP que batizaremos de cadastrar.php para execução do cadastro. Vamos ao código exemplo do script cadastrar.php:

Código do script PHP

Crie um novo script de nome cadastrar.php e insira o código a seguir nele. Logo após salve-o:
<?php
$nome = $_POST['NomeCliente'];
$sobrenome = $_POST['SobrenomeCliente'];
$sexo = $_POST['Sexo'];

$strcon = mysqli_connect('localhost','fabio','123','banco_teste') or die('Erro ao conectar ao banco de dados');
$sql = "INSERT INTO cadastro VALUES ";
$sql .= "('$nome', '$sobrenome', '$sexo')"; 
mysqli_query($strcon,$sql) or die("Erro ao tentar cadastrar registro");
mysqli_close($strcon);
echo "Cliente cadastrado com sucesso!";
?>
Nesse script nós:
  1. Capturamos os dados provenientes do formulário HTML por meio da variável $_POST
  2. Abrimos a conexão com o banco usando mysqli_connect()
  3. Criamos a declaração sql
  4. Executamos o comando sql no banco usando mysqli_query()
  5. Fechamos a conexão com mysqli_close()
Vamos incluir um registro no banco de dados a partir de nosso formulário. Veja o form da página preenchido a seguir: Cadastrando cliente com PHP e MySQL Após preencher o cadastro e clicar no botão enviar, os dados serão enviados do formulário para o script cadastra.php, e se não houver nenhum problema, serão gravados no banco de dados, e a seguinte mensagem será mostrada na página: Cliente cadastrado com PHP e MySQL Excelente! Temos agora um script que pode ser utilizado para cadastrar dados em um banco de dados MySQL. Esse script pode ser bem refinado ainda, com a inclusão de testes de validação de campos, verificação de erros diversos de conexão e gravação no banco, e outras melhorias que vamos mostrar nos próximos tutoriais. Porém, no momento o mais importante é aprender a realizar consultas no banco de dados, a fim de verificar os dados que foram gravados e obter informações específicas armazenadas no MySQL. Esse é o assunto de nossa próxima lição.
Sobre Fábio dos Reis (1105 Artigos)
Fábio dos Reis trabalha com tecnologias variadas há mais de 25 anos, tendo atuado nos campos de Eletrônica, Telecomunicações, Programação de Computadores e Redes de Dados. É um entusiasta de Unix, Linux e Open Source em geral, adora Eletrônica e Astronomia, e estuda idiomas, além de ministrar cursos e palestras sobre diversas tecnologias em São Paulo e outras cidades do Brasil.
Contato: Website

7 Comentários em Curso de PHP- Inserir dados em um banco de dados MySQL

  1. Carlos Brito // 28/12/2016 em 11:28 // Responder

    Amigo, ótima aula, consegui gravar no DB, a minha duvida agora é como transferir para o meu projeto, essa conexão.
    o ocorre na hora de gravar as linhas nº25,26,27,28 & 29.
    você poderia me ajudar ?

    conectar();

    //Metodo de Cadastro
    if($startaction == 1){
    if($acao == “cadastrar”){
    $nome = $_POST[“nome”];
    $end = $_POST[“end”];
    $cpf = $_POST[“cpf”];
    $senha = $_POST[“senha”];
    $senha1 = $_POST[“senha1″];

    if(empty($nome)||empty($end)||empty($cpf)||empty($senha)||empty($senha1)){
    $msg=”Preencha todos os campos!”;
    }
    //Todos os campos preenchidos
    else{
    //Códigos Válidos
    //Senha invalida
    if(strlen($senha)<8){
    $msg="A senha deve ter no mínimo oito caracteres!";
    }else{
    //Executa a classe de cadastro
    $conectar=new Cadastro;
    echo"”;
    $conectar=$conectar->cadastrar($nome, $end, $cpf, $senha, $senha1);
    echo””;
    }
    }
    //Código inválido
    }
    }

    ?>

  2. Matheus de Ávila Lins Teixeira // 02/01/2017 em 19:51 // Responder

    Parse error: syntax error, unexpected ‘,’ in C:\wamp64\www\banco_de_dados\cadastrar.php on line 14

    Quando eu executo o código aparece o erro acima

  3. Matheus de Ávila Lins Teixeira // 03/01/2017 em 1:19 // Responder

    cara estou aprendendo php e mysql para desenvolver um site para mim, estou pegando carona nesse seu código de inserir em um banco de dados mas está apresentando os erros abaixo:
    1)Notice: Undefined variable: mysqli_query in C:\wamp64\www\banco_de_dados\cadastrar.php on line 11
    2)Fatal error: Function name must be a string in C:\wamp64\www\banco_de_dados\cadastrar.php on line 11

  4. Ao concluir tentei cadastrar mas apresenta a msg definida no código: “Erro ao tentar cadastrar registro”

  5. Adaptei o codigo fornecido para meu ambiente (abaixo) mas quando submito nao retorna nenhum erro e tambem nao grava no banco.

    Customers

Escreva um comentário

Seu e-mail não será divulgado


*