PDO事务处理

Posted 人生长恨水长东

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PDO事务处理相关的知识,希望对你有一定的参考价值。

刚接触php PDO事务处理,遇到几个坑,分享下。

刚开始用源码发现事务处理没效果,原因是 mysql数据库默认的存储引擎类型是MyISAM,这种存储引擎类型不支持事务处理。在MySQL中,只有InnoDB存储引擎类型的数据表才能支持事务处理.

ALTER TABLE `tb_chengji` ENGINE = InnoDB; 或者用工具修改表引擎


再是mysql 要设置  $dbh -> setAttribute(PDO::ATTR_AUTOCOMMIT,0);关闭自动提交,而 mssql则不用 否则会报错: The auto-commit mode cannot be changed for this driver

mssql 也不要设置 array(PDO::ATTR_PERSISTENT => true)   否则apache不断重启, 不知道iis是否如此。

mysql 如果表名是保留关键字 用`` 引起来 ,而mssql 使用 []

 

另外事务处理里面 支持预处理,已测.

以上是关于PDO事务处理的主要内容,如果未能解决你的问题,请参考以下文章

PDO事务处理不能保持一致性

pdo + 事务处理 处理线性事务

数据库的事务处理---PDO实现

PDO 事务处理

PDO事务处理

PDO 事务是不是涵盖 PDO::query()?