Nom de la fonction: mysqli :: begin_transaction ()
Version applicable: PHP 5> = 5.5.0, php 7
Description de la fonction: Cette fonction est utilisée pour démarrer une transaction sur une base de données MySQL.
Utilisation: mysqli :: begin_transaction (int $ flags = 0, chaîne $ name = null): bool
paramètre:
$ Flags: Paramètre facultatif pour spécifier le comportement de la transaction. La valeur par défaut est 0, ce qui signifie que le comportement par défaut est utilisé. Vous pouvez le définir avec les constantes suivantes:
$ Name: Paramètre facultatif pour spécifier le nom de la transaction. Ce paramètre peut être utilisé si vous utilisez le moteur InNODB et la prise en charge des transactions nommées.
Valeur de retour:
Exemple:
// 创建数据库连接$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();
L'exemple ci-dessus montre comment démarrer une transaction de lecture et d'écriture à l'aide de la fonction mysqli :: begin_transaction () et effectuer des opérations d'insertion et de mise à jour dans la transaction. Si la transaction s'exécute avec succès, la transaction est engagée; Si une exception se produit, la transaction est annulée. Remarque Lors de l'utilisation des transactions, vous devez vous assurer que le moteur de la base de données prend en charge les opérations de transaction, telles que le moteur InNODB.