Curso de PHP – Excluindo dados do Banco de Dados

Excluindo dados do Banco de Dados MySQL

Nesta lição vamos aprender a apagar (excluir) dados do banco de dados. É uma operação corriqueira, porém muito delicada, pois se for realizada de forma incorreta pode acarretar na perda de dados do banco, de forma irremediável se não houver backup.

Usando nosso banco de dados de exemplo das lições anteriores, vamos efetuar a exclusão dos dados a partir dos nomes cadastrados na tabela Cadastro, com o comando SQL a seguir:

DELETE FROM Cadastro WHERE NomeCliente='$nome'; 

Onde $nome é um valor informado pelo usuário em um formulário como o seguinte:

Informe o nome a ser excluído:

Ao clicar no botão Excluir, o nome do cliente a ser excluído é enviado para o script PHP que batizaremos de excluir.php para execução da declaração.

Vamos ao exemplo:

Código do exemplo

Vamos criar dois arquivos: um de nome excluir.html, que conterá o formulário mostrado anteriormente, e outro de nome excluir.php, que irá efetuar a rotina de exclusão no banco usando os dados enviados pelo formulário via método POST.

Arquivo excluir.html

Segue o código da página contendo o formulário HTML:

<!DOCTYPE html>
<html lang="pt-br">
<head>
    <title> Exclusão de Dados </title>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>

<h3>Excluir Cliente</h3>
<form name="Cadastro" action="excluir.php" method="POST">
    <label>Digite o nome do cliente:</label>
    <input type="text" name="nome"><br><br>
    <input type="submit" name="enviar" value="Excluir">
</form>

</body>
</html>

Arquivo excluir.php

Crie agora um novo script de nome excluir.php e insira o código a seguir nele:

$strcon = mysqli_connect('localhost','fabio','123','banco_teste') or die('Erro ao conectar ao banco de dados requisitado');
$nome = $_POST['nome'];
$sql = "DELETE FROM Cadastro WHERE NomeCliente='$nome'"; 
mysqli_query($strcon,$sql) or die("Erro ao tentar excluir registro");

// Verificar se algum registro foi excluído ou não
if (mysqli_affected_rows($strcon)) {  // se houver linhas afetadas, o dado foi excluído
    echo "Cliente excluído";
}
else {
    mysqli_close($strcon);
    die("Erro ao tentar excluir registro");
}
// Fechar a conexão
mysqli_close($strcon);
// Redirecionar para página inicial após 5 segundos:
header("refresh:5;url=index.html");
Após executar a exclusão do registro, execute uma consulta para verificar se tudo correu como esperado. O nome informado deverá ter sido excluído. Se houver mais de um registro com o mesmo nome, também será excluído.

Na prática devemos utilizar campos que identifiquem de forma única o registro que será excluído, como campos com códigos ou números de identificação, de modo a evitar a exclusão acidental de registros.

Sobre Fábio dos Reis (1212 Artigos)
Fábio dos Reis trabalha com tecnologias variadas há mais de 30 anos, tendo atuado nos campos de Eletrônica, Telecomunicações, Programação de Computadores e Redes de Dados. É um entusiasta de Ciência e Tecnologia em geral, adora Viagens e Música, e estuda idiomas, além de ministrar cursos e palestras sobre diversas tecnologias em São Paulo e outras cidades do Brasil.

2 Comentários em Curso de PHP – Excluindo dados do Banco de Dados

  1. vini miranda // 28/11/2019 em 14:16 // Responder

    não funcionou amigo…

    Parse error: in C:\xampp\htdocs\excluir.php on line 4

    • Olá, Vini, deu o mesmo erro pra mim, no meu caso esqueci de colocar o method=”POST” no html ou method=”GET” caso use get no php, o method no html tem que estar definido igual o que for usado no php, sem ele o php dava erro… o html de teste que usei e funcionou no final ficou assim:

      Excluir dados

      Formulário de Excluir
      Informe o nome a ser excluído:

Escreva um comentário

Seu e-mail não será divulgado


*