Bóson Treinamentos em Ciência e Tecnologia

Curso de PHP – Excluindo dados do Banco de Dados

Excluir dados de um banco de dados MySQL com PHP

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.

Sair da versão mobile