PDO::commit
PDO::commit提交一個(gè)事務(wù)(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)
說明
語法
bool PDO::commit ( void )
提交一個(gè)事務(wù),數(shù)據(jù)庫連接返回到自動(dòng)提交模式直到下次調(diào)用 PDO::beginTransaction() 開始一個(gè)新的事務(wù)為止。
返回值
成功時(shí)返回 TRUE, 或者在失敗時(shí)返回 FALSE。實(shí)例
提交一個(gè)基礎(chǔ)事務(wù)
<?php /* 開始一個(gè)事務(wù),關(guān)閉自動(dòng)提交 */ $dbh->beginTransaction(); /* 在全有或全無的基礎(chǔ)上插入多行記錄(要么全部插入,要么全部不插入) */ $sql = 'INSERT INTO fruit (name, colour, calories) VALUES (?, ?, ?)'; $sth = $dbh->prepare($sql); foreach ($fruits as $fruit) { $sth->execute(array( $fruit->name, $fruit->colour, $fruit->calories, )); } /* 提交更改 */ $dbh->commit(); /* 現(xiàn)在數(shù)據(jù)庫連接返回到自動(dòng)提交模式 */ ?>
提交一個(gè)DDL事務(wù)
<?php /* 開始一個(gè)事務(wù),關(guān)閉自動(dòng)提交 */ $dbh->beginTransaction(); /* Change the database schema */ $sth = $dbh->exec("DROP TABLE fruit"); /* 更改數(shù)據(jù)庫架構(gòu) */ $dbh->commit(); /* 現(xiàn)在數(shù)據(jù)庫連接返回到自動(dòng)提交模式 */ ?>
注意:并不是所有數(shù)據(jù)庫都允許使用DDL語句進(jìn)行事務(wù)操作:有些會(huì)產(chǎn)生錯(cuò)誤,而其他一些(包括MySQL)會(huì)在遇到第一個(gè)DDL語句后就自動(dòng)提交事務(wù)。
更多建議: