Bei der Verwendung von MySQL ist es wichtig zu verstehen, wie Transaktionen funktionieren. Transaktionen dienen dazu, mehrere Abfragen zu gruppieren und sicherzustellen, dass sie atomar ausgeführt werden, was bedeutet, dass entweder alle oder keine der Abfragen erfolgreich sind.
In MySQLi wird eine Transaktion durch Deaktivieren initiiert den Autocommit-Modus mit der Anweisung autocommit(FALSE). Autocommit ist das Standardverhalten von MySQL, was bedeutet, dass jede Abfrage unabhängig und sofort ausgeführt wird. Durch Deaktivieren von Autocommit aktivieren Sie die Transaktionssteuerung, sodass Sie mehrere Abfragen gruppieren und als eine Einheit ausführen können.
Nachdem Sie die gewünschten Abfragen innerhalb der Transaktion gruppiert haben, müssen Sie dies explizit tun Schluss damit. Es gibt zwei Möglichkeiten, eine Transaktion zu beenden:
Betrachten Sie das folgende PHP-Code-Snippet:
<?php // Database connection $mysqli = new mysqli('localhost', 'username', 'password', 'database'); // Start transaction $mysqli->autocommit(FALSE); // Queries within the transaction $mysqli->query('UPDATE `table` SET `column` = 1'); $mysqli->query('UPDATE `table1` SET `column1` = 2'); // Commit or rollback if ($allQueriesExecutedSuccessfully) { $mysqli->commit(); } else { $mysqli->rollback(); } ?>
In diesem Beispiel wird der Autocommit-Modus mit autocommit(FALSE) deaktiviert, wodurch eine Transaktion initiiert wird. Innerhalb der Transaktion werden mehrere Abfragen ausgeführt. Basierend auf dem Ausführungsstatus wird die Transaktion entweder festgeschrieben oder zurückgesetzt.
Das obige ist der detaillierte Inhalt vonWie starte und beende ich Transaktionen in MySQLi?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!