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.
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:
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!"; echo "<a href='formulario.html'>Clique aqui para realizar um novo cadastro</a><br>"; echo "<a href='consulta.php'>Clique aqui para realizar uma consulta</a><br>"; ?>
Nesse script nós:
- Capturamos os dados provenientes do formulário HTML por meio da variável $_POST
- Abrimos a conexão com o banco usando mysqli_connect()
- Criamos a declaração sql
- Executamos o comando sql no banco usando mysqli_query()
- 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:
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:
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.
Usando arquivo externo de conexão ao banco de dados
Uma outra forma de criar o arquivo cadastrar.php é separando as informações de conexão ao banco de dados em um outro arquivo, e importando esses dados ao carregar a página de cadastro.
Veja o código a seguir:
<?php include_once("conectar.php"); $nome = $_POST['NomeCliente']; $sobrenome = $_POST['SobrenomeCliente']; $sexo = $_POST['Sexo']; if (!$strcon) { die('Não foi possível 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!<br>"; echo "<a href='formulario.html'>Clique aqui para realizar um novo cadastro</a><br>"; echo "<a href='consulta.php'>Clique aqui para realizar uma consulta</a><br>"; ?>
Neste caso, utilizamos a função include_once logo no início do script para inserir automaticamente o conteúdo do arquivo conectar.php na página de cadastro, quando ela for carregada. O arquivo conectar.php contém os dados para conexão ao banco de dados e criação da string d conexão utilizada. Veja se código a seguir:
<?php /* Dados do Banco de Dados a conectar */ $Servidor = 'localhost'; $nomeBanco = 'banco_teste'; $Usuario = 'fabio'; $Senha = '123'; $strcon = mysqli_connect($Servidor, $Usuario, $Senha, $nomeBanco); ?>
Também realizamos uma modificação no arquivo cadastrar.php, trocando a linha que cria a string de conexão:
$strcon = mysqli_connect(‘localhost’,’fabio’,’123′,’banco_teste’) or die(‘Erro ao conectar ao banco de dados’);
por um teste condicional para verificar se ela foi criada a partir da importação do arquivo conecta.php:
if (!$strcon) {
die(‘Não foi possível conectar ao Banco de Dados’);
}
É isso aí! Agora devemos 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.