mysqli::begin_transaction
(mysqli_begin_transaction) 트랜잭션을 시작하십시오
함수 이름 : mysqli :: begin_transaction ()
해당 버전 : PHP 5> = 5.5.0, PHP 7
기능 설명 :이 기능은 MySQL 데이터베이스에서 트랜잭션을 시작하는 데 사용됩니다.
사용법 : mysqli :: begin_transaction (int $ flags = 0, String $ name = null) : bool
매개 변수 :
$ 플래그 : 트랜잭션의 동작을 지정하는 선택적 매개 변수. 기본값은 0이므로 기본 동작이 사용됨을 의미합니다. 다음 상수로 설정할 수 있습니다.
$ 이름 : 트랜잭션의 이름을 지정하는 선택적 매개 변수입니다. 이 매개 변수는 InnoDB 엔진을 사용하고 트랜잭션이라는 지원을 지원하는 경우 사용할 수 있습니다.
반품 값 :
예:
// 创建数据库连接$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 엔진과 같은 트랜잭션 작업을 지원하는지 확인해야합니다.