mysqli_begin_transaction()函數(shù)啟動(dòng)事務(wù)
mysqli_begin_transaction()用來啟動(dòng)一個(gè)新的事務(wù)。
mysqli_begin_transaction($con, [$flags, $name]);
序號(hào) | 參數(shù)及說明 |
---|---|
1 | con(必需) 這是一個(gè)表示與MySQL Server的連接的對(duì)象。 |
2 | flags(可選) 一個(gè)常量,可以是下列值之一:
|
3 | name(可選) 這是表示事務(wù)保存點(diǎn)名稱的字符串值。 |
PHP mysqli_begin_transaction()函數(shù)返回一個(gè)布爾值,如果操作成功,則為true,否則為false。
此函數(shù)最初是在PHP版本5中引入的,并且在所有更高版本中均可用。
以下示例演示了mysqli_begin_transaction()函數(shù)的用法(面向過程程序風(fēng)格)-
<?php //建立連接 $con = mysqli_connect("localhost", "root", "password", "mydb"); //開始事務(wù) mysqli_begin_transaction($con, MYSQLI_TRANS_START_READ_ONLY); print("事務(wù)已啟動(dòng)......\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"); //提交事務(wù) mysqli_commit($con); print("事務(wù)保存......\n"); //關(guān)閉連接 mysqli_close($con); ?>
輸出結(jié)果
事務(wù)已啟動(dòng)...... 表已創(chuàng)建...... 插入記錄...... 事務(wù)保存......
面向?qū)ο箫L(fēng)格方法的語法為 $con->begin_transaction()。以下是面向?qū)ο箫L(fēng)格中此函數(shù)的示例;
//建立連接 $con = new mysqli("localhost", "root", "password", "mydb"); //開始事務(wù) $con->begin_transaction($con, MYSQLI_TRANS_START_READ_ONLY); print("事務(wù)已啟動(dòng)......\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"); //提交事務(wù) $con->commit(); print("事務(wù)保存......\n"); //關(guān)閉連接 $con->close(); ?>
輸出結(jié)果
事務(wù)已啟動(dòng)...... 表已創(chuàng)建...... 插入記錄...... 事務(wù)保存......