PDO::commit讲解

今天小编就为大家分享一篇关于PDO::commit讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧。

PDO::commit

PDO::commit提交一个事务(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)

说明

语法

  1. ```bool PDO::commit ( void )
  2. 提交一个事务,数据库连接返回到自动提交模式直到下次调用 PDO::beginTransaction() 开始一个新的事务为止。
  3. ## 返回值
  4. 成功时返回 TRUE, 或者在失败时返回 FALSE。
  5. ## 实例
  6. ### 提交一个基础事务
  7. ```php
  8. <?php
  9. /* 开始一个事务,关闭自动提交 */
  10. $dbh->beginTransaction();
  11. /* 在全有或全无的基础上插入多行记录(要么全部插入,要么全部不插入) */
  12. $sql = 'INSERT INTO fruit
  13. (name, colour, calories)
  14. VALUES (?, ?, ?)';
  15. $sth = $dbh->prepare($sql);
  16. foreach ($fruits as $fruit) {
  17. $sth->execute(array(
  18. $fruit->name,
  19. $fruit->colour,
  20. $fruit->calories,
  21. ));
  22. }
  23. /* 提交更改 */
  24. $dbh->commit();
  25. /* 现在数据库连接返回到自动提交模式 */
  26. ?>

提交一个DDL事务

  1. <?php
  2. /* 开始一个事务,关闭自动提交 */
  3. $dbh->beginTransaction();
  4. /* Change the database schema */
  5. $sth = $dbh->exec("DROP TABLE fruit");
  6. /* 更改数据库架构 */
  7. $dbh->commit();
  8. /* 现在数据库连接返回到自动提交模式 */
  9. ?>

注意:并不是所有数据库都允许使用DDL语句进行事务操作:有些会产生错误,而其他一些(包括MySQL)会在遇到第一个DDL语句后就自动提交事务。