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)建...... 插入記錄...... 事務保存......