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

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

王林
王林nach vorne
2023-06-02 23:45:031208Durchsuche

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

Vor dem Löschen ist es am besten, zuerst die Datenbank zu sichern. Allgemeine Strategien für die Arbeit mit PostgreSQL- und MySQL-Datenbanken. Kann umgeschrieben werden als: Gemeinsame PostgreSQL- und MySQL-Datenbankverarbeitungsstrategien. 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 stapelweise 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[&#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();
?>

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 durch die Verwendung von MySQLi- oder PDO-Erweiterungen 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 ein Fehler auftritt, können Sie die Funktion rollback() verwenden, um den vorherigen Löschvorgang rückgängig zu machen.

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:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen