Heim  >  Artikel  >  Backend-Entwicklung  >  So löschen Sie Daten aus der MySQL-Datenbank in PHP

So löschen Sie Daten aus der MySQL-Datenbank in PHP

PHPz
PHPzOriginal
2023-03-27 17:24:45939Durchsuche

PHP und MySQL sind die am häufigsten verwendeten Datenbankprogrammiersprachen und spielen eine sehr wichtige Rolle bei der Entwicklung von Webanwendungen. Mit der Weiterentwicklung der Informationstechnologie wird das Datenmanagement noch wichtiger. Der Betrieb von PHP- und MySQL-Datenbanken erfordert große Vorsicht und das Löschen von Daten ist eine sehr wichtige Aufgabe, bei der es um die finanzielle Sicherheit geht.

In diesem Artikel stellen wir vor, wie Sie Daten mithilfe der MySQL-Datenbank in PHP löschen, um Best Practices und Sicherheit beim Umgang mit Daten zu gewährleisten.

  1. Sichern Sie die Datenbank vor dem Löschen.

Vor dem Löschen ist es am besten, zuerst die Datenbank zu sichern. Dies ist eine gängige Strategie für die Arbeit mit PostgreSQL- und MySQL-Datenbanken. Mithilfe von Backups können Sie Ihre Daten wiederherstellen, wenn Sie sie versehentlich löschen. Sie können phpMyAdmin oder Befehlszeilentools verwenden, um die Sicherung abzuschließen. Verwenden Sie den Befehl mysqldump in der Befehlszeile, um die Datenbank zu sichern.

  1. Verwenden Sie die DELETE-Anweisung.

Verwenden Sie die DELETE-Anweisung, um Daten in der Tabelle zu löschen. Mit der DELETE-Anweisung können Sie bestimmte Zeilen löschen oder Platzhalter verwenden, um Zeilen in großen Mengen zu löschen.

<?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();
?>

Im obigen Code verwenden wir die DELETE-Anweisung, um die Zeile mit der ID 1 aus der myTable-Tabelle zu löschen. Wenn die Zeile erfolgreich gelöscht wurde, gibt das Programm „Datenlöschung erfolgreich“ aus. Wenn sie nicht gelöscht wurde, gibt das Programm „Löschung fehlgeschlagen“ und die von MySQL zurückgegebene Fehlermeldung aus.

  1. SQL-Injection-Angriffe verhindern

Ein SQL-Injection-Angriff ist eine Art Cyberangriff, der dazu führen kann, dass Ihre Anwendungsdaten verloren gehen. Um SQL-Injection-Angriffe zu vermeiden, können wir die PHP-Funktion mysql_real_escape_string() verwenden, um vom Benutzer eingegebene Daten zu maskieren.

<?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['id'];

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

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

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

//关闭连接
$conn->close();
?>

Im obigen Code verwenden wir die Funktion mysql_real_escape_string(), um vom Benutzer eingegebene Daten zu maskieren und so SQL-Injection-Angriffe zu verhindern.

  1. Verwenden Sie die Transaktionsverwaltung, um Vorgänge zu löschen.

Die Transaktionsverwaltung ist sehr wichtig, wenn Sie Daten in mehreren Tabellen löschen müssen. In PHP kann das transaktionsbasierte Löschen mit MySQLi oder der PDO-Erweiterung erreicht werden.

<?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();
?>

Im obigen Code verwenden wir die Funktion begin_transaction(), um die Transaktion zu starten, und verwenden die Funktion commit(), um das Ergebnis am Ende zu übermitteln. Wenn beim Löschen ein Fehler auftritt, können Sie die Funktion rollback() verwenden, um den vorherigen Löschvorgang rückgängig zu machen.

Zusammenfassung

Das Löschen von Daten ist eine äußerst wichtige und sensible Aufgabe in PHP und MySQL. Durch die Sicherung, die Verwendung von DELETE-Anweisungen, die Verhinderung von SQL-Injection-Angriffen und die Verwendung von Transaktionen zur Verwaltung von Löschvorgängen können wir Best Practices und Sicherheit bei der Handhabung und Verwaltung von Daten gewährleisten.

Das obige ist der detaillierte Inhalt vonSo löschen Sie Daten aus der MySQL-Datenbank in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn