現在の位置: ホーム> 関数カテゴリ一覧> mysqli::begin_transaction

mysqli::begin_transaction

(mysqli_begin_transaction)トランザクションを開始します
名前:mysqli::begin_transaction
カテゴリ:mysqli
対応言語:php
一言説明:MySQLデータベースでトランザクションを開始します

関数名:mysqli :: begin_transaction()

適用バージョン:PHP 5> = 5.5.0、PHP 7

関数の説明:この関数は、MySQLデータベースのトランザクションを開始するために使用されます。

使用法:mysqli :: begin_transaction(int $ flags = 0、string $ name = null):bool

パラメーター:

  • $ flags:トランザクションの動作を指定するオプションパラメーター。デフォルトは0です。つまり、デフォルトの動作が使用されます。次の定数で設定できます。

    • mysqli_trans_start_read_only:読み取り専用トランザクションを開始します
    • mysqli_trans_start_read_write:トランザクションの読み取りと書き込みを開始します
    • mysqli_trans_start_with_consistent_snapshot:一貫したスナップショットトランザクションを開始します
  • $ name:トランザクションの名前を指定するオプションパラメーター。このパラメーターは、INNODBエンジンを使用し、名前付きトランザクションをサポートする場合に使用できます。

返品値:

  • トランザクションが正常に開始された場合、trueを返します。それ以外の場合はfalseを返します。

例:

 // 创建数据库连接$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();

上記の例は、mysqli :: begin_transaction()関数を使用して読み取りおよび書き込みトランザクションを開始する方法を示し、トランザクションで挿入操作と更新操作を実行します。トランザクションが正常に実行された場合、トランザクションがコミットされます。例外が発生した場合、トランザクションはロールバックされます。注意トランザクションを使用する場合、データベースエンジンがINNODBエンジンなどのトランザクション操作をサポートすることを確認する必要があります。

類似の関数
人気記事(にんききじ)