Funktionsname: Mysqli :: begin_transaction ()
Anwendbare Version: Php 5> = 5.5.0, Php 7
Funktionsbeschreibung: Diese Funktion wird verwendet, um eine Transaktion in einer MySQL -Datenbank zu starten.
Verwendung: Mysqli :: begin_transaktion (int $ flags = 0, String $ name = null): bool
Parameter:
$ flags: Optionaler Parameter, um das Verhalten der Transaktion anzugeben. Die Standardeinstellung ist 0, was bedeutet, dass das Standardverhalten verwendet wird. Sie können es mit den folgenden Konstanten einstellen:
$ Name: Optionaler Parameter, um den Namen der Transaktion anzugeben. Dieser Parameter kann verwendet werden, wenn Sie die InnoDB -Engine verwenden und benannte Transaktionen unterstützen.
Rückgabewert:
Beispiel:
// 创建数据库连接$mysqli = new mysqli("localhost", "username", "password", "database"); // 检查连接是否成功if ($mysqli->connect_errno) { die("连接数据库失败:" . $mysqli->connect_error); } // 启动读写事务if ($mysqli->begin_transaction(MYSQLI_TRANS_START_READ_WRITE)) { try { // 执行事务操作$mysqli->query("INSERT INTO users (name, email) VALUES ('John', 'john@example.com')"); $mysqli->query("UPDATE users SET email = 'new_email@example.com' WHERE id = 1"); // 提交事务$mysqli->commit(); echo "事务已提交"; } catch (Exception $e) { // 回滚事务$mysqli->rollback(); echo "事务已回滚:" . $e->getMessage(); } } else { echo "无法启动事务"; } // 关闭数据库连接$mysqli->close();
Das obige Beispiel zeigt, wie eine Lese- und Schreibtransaktion mit der Funktion mySQLI :: begin_transaction () gestartet und geschrieben wird und Einfüge- und Aktualisierungsvorgänge in der Transaktion ausführen und aktualisieren. Wenn die Transaktion erfolgreich ausgeführt wird, wird die Transaktion begangen. Wenn eine Ausnahme auftritt, wird die Transaktion zurückgerollt. Beachten Sie bei Verwendung von Transaktionen müssen Sie sicherstellen, dass die Datenbank -Engine Transaktionsvorgänge wie die InnoDB -Engine unterstützt.