Maison > base de données > tutoriel mysql > Comment supprimer des données de la base de données MySQL en PHP

Comment supprimer des données de la base de données MySQL en PHP

王林
Libérer: 2023-06-02 23:45:03
avant
1245 Les gens l'ont consulté

  1. Sauvegardez la base de données avant de la supprimer

Avant de supprimer, il est préférable de sauvegarder d'abord la base de données. Stratégies courantes pour travailler avec les bases de données PostgreSQL et MySQL. Peut être réécrit comme : Stratégies communes de traitement des bases de données PostgreSQL et MySQL. Les sauvegardes peuvent vous aider à récupérer vos données si vous les supprimez accidentellement. Vous pouvez utiliser phpMyAdmin ou des outils de ligne de commande pour terminer la sauvegarde. Utilisez la commande mysqldump sur la ligne de commande pour sauvegarder la base de données.

  1. Utilisez l'instruction DELETE

Utilisez l'instruction DELETE pour supprimer les données du tableau. À l'aide de l'instruction DELETE, vous pouvez supprimer des lignes spécifiques ou utiliser des caractères génériques pour supprimer des lignes par lots.

<?php
//连接到数据库
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";

//创建连接对象
$conn = new mysqli($servername, $username, $password, $dbname);

//检查连接
if ($conn->connect_error) {
    die("连接失败: " . $conn->connect_error);
}

//编写删除数据的SQL语句
$sql = "DELETE FROM myTable WHERE id=1";

//执行SQL语句
if ($conn->query($sql) === TRUE) {
    echo "数据删除成功";
} else {
    echo "删除失败: " . $conn->error;
}

//关闭连接
$conn->close();
?>
Copier après la connexion

Dans le code ci-dessus, nous utilisons l'instruction DELETE pour supprimer la ligne avec l'ID 1 de la table myTable. Si la ligne est supprimée avec succès, le programme affichera « Suppression des données réussie » ; si elle n'est pas supprimée, le programme affichera « Échec de la suppression » et le message d'erreur renvoyé par MySQL.

  1. Prévenir les attaques par injection SQL

Une attaque par injection SQL est un type de cyberattaque qui peut provoquer une fuite des données de votre application. Pour éviter les attaques par injection SQL, nous pouvons utiliser la fonction mysql_real_escape_string() de PHP pour échapper aux données saisies par l'utilisateur.

<?php
//连接到数据库
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";

//创建连接对象
$conn = new mysqli($servername, $username, $password, $dbname);

//检查连接
if ($conn->connect_error) {
    die("连接失败: " . $conn->connect_error);
}

//获取用户输入的数据
$id = $_POST[&#39;id&#39;];

//使用mysql_real_escape_string()函数转义用户输入的数据
$id = mysql_real_escape_string($id);

//编写删除数据的SQL语句
$sql = "DELETE FROM myTable WHERE id=&#39;$id&#39;";

//执行SQL语句
if ($conn->query($sql) === TRUE) {
    echo "数据删除成功";
} else {
    echo "删除失败: " . $conn->error;
}

//关闭连接
$conn->close();
?>
Copier après la connexion

Dans le code ci-dessus, nous utilisons la fonction mysql_real_escape_string() pour échapper aux données saisies par l'utilisateur afin d'empêcher les attaques par injection SQL.

  1. Utilisez la gestion des transactions pour supprimer des opérations

La gestion des transactions est très importante lorsque vous devez supprimer des données dans plusieurs tables. En PHP, la suppression basée sur les transactions peut être réalisée en utilisant des extensions MySQLi ou PDO.

<?php
//连接到数据库
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";

//创建连接对象
$conn = new mysqli($servername, $username, $password, $dbname);

//检查连接
if ($conn->connect_error) {
    die("连接失败: " . $conn->connect_error);
}

//开启事务
$conn->begin_transaction();

//编写删除数据的SQL语句
$sql1 = "DELETE FROM myTable WHERE id=1;";
$sql2 = "DELETE FROM myTable1 WHERE id=2;";

//删除数据
if ($conn->query($sql1) === TRUE && $conn->query($sql2) === TRUE) {
    //提交事务
    $conn->commit();
    echo "所有数据删除成功";
} else {
    echo "删除失败: " . $conn->error;
    //回滚事务,撤销删除操作
    $conn->rollback();
}

//关闭连接
$conn->close();
?>
Copier après la connexion

Dans le code ci-dessus, nous utilisons la fonction start_transaction() pour démarrer la transaction, et utilisons la fonction commit() pour soumettre le résultat à la fin. Lorsque vous rencontrez une erreur, vous pouvez utiliser la fonction rollback() pour annuler l'opération de suppression précédente.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:yisu.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal