PHP mysqli_begin_transaction() 函数



定义和用法

mysqli_begin_transaction() 用于启动一个新的事务。

语法

mysqli_begin_transaction($con, [$flags, $name]);

参数

序号 参数和描述
1

con (必填)

这是一个表示与 MySQL 服务器连接的对象。

2

flags (可选)

可以是以下常量之一:

  • MYSQLI_TRANS_START_READ_ONLY

  • MYSQLI_TRANS_START_READ_WRITE

  • MYSQLI_TRANS_START_WITH_CONSISTENT_SNAPSHOT

3

name (可选)

这是一个字符串值,表示事务保存点的名称。

返回值

PHP mysqli_begin_transaction() 函数返回一个布尔值,如果操作成功则为 true,否则为 false

PHP 版本

此函数首次引入于 PHP 5 版本,并在所有后续版本中可用。

示例

以下示例演示了 mysqli_begin_transaction() 函数的用法(过程式风格):

<?php
   //Creating a connection
   $con = mysqli_connect("localhost", "root", "password", "mydb");

   //Beginning the transaction
   mysqli_begin_transaction($con, MYSQLI_TRANS_START_READ_ONLY);
   print("Transaction Started......\n");

   //Creating a table
   mysqli_query($con, "CREATE TABLE Test(Name VARCHAR(255), AGE INT)");
   print("Table Created......\n");

   //Inserting values
   mysqli_query($con, "INSERT INTO Test values('Raju', 25),('Rahman', 30),('Sarmista', 27)");
   print("Records Inserted......\n");

   //Committing the transaction
   mysqli_commit($con);
   print("Transaction Saved......\n");

   //Closing the connection
   mysqli_close($con);
?>

这将产生以下结果:

Transaction Started......
Table Created......
Records Inserted......
Transaction Saved......

示例

此方法在面向对象风格中的语法为 $con->begin_transaction()。以下是此函数在面向对象模式中的示例:

//Creating a connection
$con = new mysqli("localhost", "root", "password", "mydb");

//Beginning the transaction
$con->begin_transaction($con, MYSQLI_TRANS_START_READ_ONLY);
print("Transaction Started......\n");

//Creating a table
$con->query("CREATE TABLE Test(Name VARCHAR(255), AGE INT)");
print("Table Created......\n");

//Inserting values
$con->query("insert into Test values('Raju', 25),('Rahman', 30),('Sarmista', 27)");
print("Records Inserted......\n");

//Committing the transaction
$con->commit();
print("Transaction Saved......\n");

//Closing the connection
$con->close();
?>

这将产生以下结果:

Transaction Started......
Table Created......
Records Inserted......
Transaction Saved......
php_function_reference.htm
广告