Zend Framework 事务处理 有关问题

WBOY
풀어 주다: 2016-06-13 11:07:20
원래의
1058명이 탐색했습니다.

Zend Framework 事务处理 问题
官方给出一个示例,如下:

<?php<br /><br />// 创建一个 $db对象, 然后开始做一个事务处理.<br />$db->beginTransaction();<br /><br />// 尝试数据库操作.<br />// 假如成功,commit该操作;<br />// 假如, roll back.<br />try {<br />    $db->query(...);<br />    $db->commit();<br />} catch (Exception $e) {<br />    $db->rollBack();<br />    echo $e->getMessage();<br />}<br /><br />?>
로그인 후 복사


我写的实例中,确没有通过,而是提示
Fatal error: Uncaught exception 'PDOException' with message 'There is already an active transaction' in E:\php\ZendFramework\library\Zend\Db\Adapter\Pdo\Abstract.php:305 Stack trace: #0 E:\php\ZendFramework\library\Zend\Db\Adapter\Pdo\Abstract.php(305): PDO->beginTransaction() #1 E:\php\ZendFramework\library\Zend\Db\Adapter\Abstract.php(484): Zend_Db_Adapter_Pdo_Abstract->_beginTransaction() #2 D:\svnrepos\WiClub\src\application\models\shop.php(76): Zend_Db_Adapter_Abstract->beginTransaction() #3 D:\svnrepos\WiClub\src\application\controllers\ShopController.php(507): shop->inserttest(Array) #4 E:\php\ZendFramework\library\Zend\Controller\Action.php(513): ShopController->shopaddtestAction() #5 E:\php\ZendFramework\library\Zend\Controller\Dispatcher\Standard.php(289): Zend_Controller_Action->dispatch('shopaddtestActi...') #6 E:\php\ZendFramework\library\Zend\Controller\Front.php(946): Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http), Object(Zend_Controller_Response_Http)) #7 D:\svnrepos\WiC in E:\php\ZendFramework\library\Zend\Db\Adapter\Pdo\Abstract.php on line 305

似乎是提示已经有一个事务在运行?刚接触ZF不久,不太熟悉,把相关源文件贴上来吧

config.ini
<br />[general]<br />db.adapter = PDO_MYSQL<br />db.config.host = localhost<br />db.config.username = root<br />db.config.password = 123456<br />db.config.dbname = testdb <br />db.config.charset = utf8<br />date_default_timezone = "PRC"<br />
로그인 후 복사


Util.php    [所在文件夹 Common,与controllers文件夹,models文件夹同级]

<br><?php <br />require_once 'Zend/Config/Exception.php';<br>require_once 'Zend/Config/Ini.php';<br>require_once 'Zend/Registry.php';<br>require_once 'Zend/Db.php';<br>require_once 'Zend/Db/Table.php';<br>//require_once 'common/Blowfish.php';<br>//require_once 'common/Hosts.php';<br>class Common_Util<br>{	<br>        public static function getDb($configName,$setcharset=false)<br>	{<br>		if($configName)<br>		{<br>			$config=new Zend_Config_Ini('../config.ini',$configName);<br>                        $registry= Zend_Registry::getInstance();<br>                        $registry->set('config',$config);<br>                        $params=$config->db->config->toArray();<br>                        $params['options']=array(PDO::ATTR_PERSISTENT => true);<br>                        $db = Zend_Db::factory($config->db->adapter,$params);<div class="clear">
                 
              
              
        
            </div>
로그인 후 복사
관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!