English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Neste tutorial, você aprenderá como usar PHP para deletar registros de uma tabela MySQL.
Da mesma forma que você insere registros na tabela, você pode usar SQL DELETEA declaração DELETE remove registros da tabela. Ela geralmente é usada em conjunto com a cláusula WHERE, para deletar apenas os registros que atendem a uma condição específica ou condições.
A sintaxe básica da declaração DELETE pode ser dada da seguinte forma:
DELETE FROM table_name WHERE column_name=some_value
Vamos usar uma consulta SQL com a cláusula WHERE e executá-la através da função PHP mysqli_query(), para deletar registros da tabela. Veja a tabela persons no banco de dados demo a seguir:
+----+------------+-----------+----------------------+ | id | first_name | last_name | email | +----+------------+-----------+----------------------+ | 1 | Peter | Parker | [email protected] | | 2 | John | Rambo | [email protected] | | 3 | Clark | Kent | [email protected] | | 4 | John | Carter | [email protected] | | 5 | Harry | Potter | [email protected] | +----+------------+-----------+----------------------+
O código PHP no exemplo a seguir removeráfirst_nameRegistro de pessoas que são John
<?php /* Tente conectar ao servidor MySQL. Supondo que você esteja executando MySQL. Servidor com configurações padrão (usuário sem senha "root") */ $link = mysqli_connect("localhost", "root", "", "demo"); //Verificar conexão if($link === false){ die("Erro: não foi possível conectar. " . mysqli_connect_error()); } //Tente executar exclusão $sql = "DELETE FROM persons WHERE first_name='John'"; if(mysqli_query($link, $sql)){ echo "O registro foi excluído com sucesso."; } else{ echo "Erro: não foi possível executar $sql. " . mysqli_error($link); } //Fechar conexão mysqli_close($link); ?>
<?php /* Tente conectar ao servidor MySQL. Supondo que você esteja executando MySQL. Servidor com configurações padrão (usuário sem senha "root") */ $mysqli = new mysqli("localhost", "root", "", "demo"); //Verificar conexão if($mysqli === false){ die("Erro: Não foi possível conectar. ". $mysqli->connect_error); } //Tente executar exclusão $sql = "DELETE FROM persons WHERE first_name='John'"; if($mysqli->query($sql) === true){ echo "O registro foi excluído com sucesso."; } else{ echo "Erro: Não foi possível executar $sql. ". $mysqli->error; } //Fechar conexão $mysqli->close(); ?>
<?php /* Tente conectar ao servidor MySQL. Supondo que você esteja executando MySQL. Servidor com configurações padrão (usuário sem senha "root")*/ try{ $pdo = new PDO("mysql:host=localhost;dbname=demo", "root", ""); //Definir o modo de erro PDO como exceção $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } catch(PDOException $e){ die("Erro: Não foi possível conectar. ". $e->getMessage()); } //Tente atualizar a execução da consulta try{ $sql = "DELETE FROM persons WHERE first_name='John'"; $pdo->exec($sql); echo "O registro foi excluído com sucesso."; } catch(PDOException $e){ die("Erro: Não foi possível executar $sql. ". $e->getMessage()); } //Fechar conexão unset($pdo); ?>
Após a exclusão,personsA tabela será exibida conforme follows:
+----+------------+-----------+----------------------+ | id | first_name | last_name | email | +----+------------+-----------+----------------------+ | 1 | Peter | Parker | [email protected] | | 3 | Clark | Kent | [email protected] | | 5 | Harry | Potter | [email protected] | +----+------------+-----------+----------------------+
Como você vê, o registro foi excluído com sucesso da tabela persons.
Aviso:A cláusula WHERE da instrução DELETE especifica quais registros devem ser excluídos. Se a cláusula WHERE for omitida, todos os registros serão excluídos.