English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutoriel PHP de base

Tutoriel PHP avancé

PHP & MySQL

Manuel de référence PHP

Suppression MySQL PHP

Dans ce tutoriel, vous apprendrez à supprimer des enregistrements d'une table MySQL en utilisant PHP.

Suppression des données de la table de base de données

Comme pour insérer des enregistrements dans une table, vous pouvez utiliser SQL DELETELa commande DELETE supprime des enregistrements de la table. Elle est généralement utilisée avec une clause WHERE pour ne supprimer que les enregistrements qui correspondent à des conditions spécifiques ou des conditions.

La syntaxe de base de la commande DELETE peut être donnée de la manière suivante :

DELETE FROM table_name WHERE column_name=some_value

Laissez-nous utiliser une requête SQL avec une clause WHERE pour effectuer une requête SQL, puis exécuter cette requête en passant par la fonction mysqli_query() PHP pour supprimer des enregistrements de la table. Regardez la table persons du schéma demo :

+----+------------+-----------+----------------------+
| 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] |
+----+------------+-----------+----------------------+

Dans l'exemple suivant, le code PHP supprimera des enregistrements de la table personsfirst_nameEnregistrements des personnes égales à John

Exemple : méthode procédurale

<?php
/* Tentez de vous connecter au serveur MySQL. Supposons que vous exécutez MySQL.
Serveur avec paramètres par défaut (utilisateur sans mot de passe "root") */
$link = mysqli_connect("localhost", "root", "", "demo");
 
//Vérifiez la connexion
if($link === false){
    die("Erreur : impossible de se connecter. " . mysqli_connect_error());
}
 
//Tentez d'exécuter la suppression
$sql = "DELETE FROM persons WHERE first_name='John'";
if(mysqli_query($link, $sql)){
    echo "L'enregistrement a été supprimé avec succès.";
} else{
    echo "Erreur : impossible d'exécuter $sql. " . mysqli_error($link);
}
 
//Fermez la connexion
mysqli_close($link);
?>

Exemple : méthode orientée objet

<?php
/* Tentez de vous connecter au serveur MySQL. Supposons que vous exécutez MySQL.
Serveur avec paramètres par défaut (utilisateur sans mot de passe "root") */
$mysqli = new mysqli("localhost", "root", "", "demo");
 
//Vérifiez la connexion
if($mysqli === false){
    die("Erreur : Impossible de se connecter. ". $mysqli->connect_error);
}
 
//Tentez d'exécuter la suppression
$sql = "DELETE FROM persons WHERE first_name='John'";
if($mysqli->query($sql) === true){
    echo "L'enregistrement a été supprimé avec succès.";
} else{
    echo "Erreur : Impossible d'exécuter $sql. ". $mysqli->error;
}
 
//Fermez la connexion
$mysqli->close();
?>

Exemple : méthode PDO

<?php
/* Tentez de vous connecter au serveur MySQL. Supposons que vous exécutez MySQL.
Serveur avec paramètres par défaut (utilisateur sans mot de passe "root")*/
try{
    $pdo = new PDO("mysql:host=localhost;dbname=demo", "root", "");
    //Définissez le mode d'erreur PDO sur les exceptions
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e){
    die("Erreur : Impossible de se connecter. ". $e->getMessage());
}
 
//Tentez de mettre à jour l'exécution de la requête
try{
    $sql = "DELETE FROM persons WHERE first_name='John'";  
    $pdo->exec($sql);
    echo "L'enregistrement a été supprimé avec succès.";
} catch(PDOException $e){
    die("Erreur : Impossible d'exécuter $sql. ". $e->getMessage());
}
 
//Fermez la connexion
unset($pdo);
?>

Après suppression,personsLe tableau sera affiché comme suit :

+----+------------+-----------+----------------------+
| id | first_name | last_name | email                |
+----+------------+-----------+----------------------+
|  1 | Peter      | Parker    | [email protected] |
|  3 | Clark      | Kent      | [email protected]   |
|  5 | Harry      | Potter    | [email protected] |
+----+------------+-----------+----------------------+

Comme vous pouvez le voir, l'enregistrement a été supprimé avec succès de la table persons.

Avertissement :La clause WHERE de l'instruction DELETE spécifie quels enregistrements doivent être supprimés. Si la clause WHERE est omise, tous les enregistrements seront supprimés.