|
- $pdo = new PDO("mysql:host=127.0.0.1;dbname=test", 'root', '123456', array( PDO::ATTR_PERSISTENT => true));
- $sql = "INSERT INTO `test1`(`Name`) VALUES('".com_create_guid()."')";
- var_dump($pdo->beginTransaction());
- var_dump($pdo->query($sql));
- var_dump($pdo->rollBack());
复制代码
按照手册上的说法,因为回滚的原因,上面的代码不会插入任何数据到数据库。
但是实际上并没有回滚~~而使用$pdo->getAttribute(PDO::ATTR_AUTOCOMMIT)的结果居然常为int(1)。并没有按照我理解的那样在beginTransaction后变为int(0),rollBack和commit后变回int(1)。
还没有来得及看PDO的原代码是如何实现事务这部分的~~不过先发个帖子在这放着,如果有哪个兄弟搞过这个,我就省事啦~~呵呵~~ |
|