mysqli_begin_transaction()函數(shù)啟動事務
mysqli_begin_transaction()用來啟動一個新的事務。
mysqli_begin_transaction($con, [$flags, $name]);
| 序號 | 參數(shù)及說明 |
|---|---|
| 1 | con(必需) 這是一個表示與MySQL Server的連接的對象。 |
| 2 | flags(可選) 一個常量,可以是下列值之一:
|
| 3 | name(可選) 這是表示事務保存點名稱的字符串值。 |
PHP mysqli_begin_transaction()函數(shù)返回一個布爾值,如果操作成功,則為true,否則為false。
此函數(shù)最初是在PHP版本5中引入的,并且在所有更高版本中均可用。
以下示例演示了mysqli_begin_transaction()函數(shù)的用法(面向過程程序風格)-
<?php
//建立連接
$con = mysqli_connect("localhost", "root", "password", "mydb");
//開始事務
mysqli_begin_transaction($con, MYSQLI_TRANS_START_READ_ONLY);
print("事務已啟動......\n");
//創(chuàng)建表
mysqli_query($con, "CREATE TABLE Test(Name VARCHAR(255), AGE INT)");
print("表已創(chuàng)建......\n");
//插入值
mysqli_query($con, "INSERT INTO Test values('Raju', 25),('Rahman', 30),('Sarmista', 27)");
print("插入記錄......\n");
//提交事務
mysqli_commit($con);
print("事務保存......\n");
//關閉連接
mysqli_close($con);
?>輸出結果
事務已啟動...... 表已創(chuàng)建...... 插入記錄...... 事務保存......
面向?qū)ο箫L格方法的語法為 $con->begin_transaction()。以下是面向?qū)ο箫L格中此函數(shù)的示例;
//建立連接
$con = new mysqli("localhost", "root", "password", "mydb");
//開始事務
$con->begin_transaction($con, MYSQLI_TRANS_START_READ_ONLY);
print("事務已啟動......\n");
//創(chuàng)建表
$con->query("CREATE TABLE Test(Name VARCHAR(255), AGE INT)");
print("表已創(chuàng)建......\n");
//插入值
$con->query("insert into Test values('Raju', 25),('Rahman', 30),('Sarmista', 27)");
print("插入記錄......\n");
//提交事務
$con->commit();
print("事務保存......\n");
//關閉連接
$con->close();
?>輸出結果
事務已啟動...... 表已創(chuàng)建...... 插入記錄...... 事務保存......