PHP + MySQL事务操作的实际应用代码演示

以下的文章主要向大家描述的是PHP + MySQL事务操作的实际应用代码演示,我们大家都知道在实际LAMP的应用中,一般PHP所使用的是AdoDB来对MySQL数据库进行操作,下面给出AdoDB相应的代码方便大家查阅:

成都创新互联公司是专业的东城网站建设公司,东城接单;提供网站建设、成都网站设计,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行东城网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!

 
 
 
  1. // ...   
  2. $adodb->startTrans();   

实际,getOne所调用的查询也可以直接放到rowLock来进行,这里只是为了演示效果能更明显些。

 
 
 
  1. $adodb->rowLock('book', 'book_id = 123');   
  2. $bookNumber = $adodb->getOne("SELECT book_number FROM book WHERE book_id = 123");   
  3. $adodb->execute("UPDATE book SET book_numberbook_number = book_number - 1 WHERE book_id = 123");   
  4. $adodb->completeTrans();   
  5. // ...   
  6. ?> 

其中,rowLock的方法就是调用的FOR UPDATE来实现的行锁,你可能会想把“FOR UPDATE”直接写到$adodb->getOne()调用的那条SQL语句里面去实现行锁的功能,不错,那样确实可以,但是并不是所有的数据库都使用“FOR UPDATE”语法来实现行锁功能,比如Sybase使用“HOLDLOCK”的语法来实现行锁功能,所以为了你的数据库抽象层保持可移植性,我还是劝你用rowLock来实现行锁功能,至于可移植性就交给AdoDB好了,嗯,有点扯远了,今儿就说到这里了。

上述的相关内容就是对PHP + MySQL事务操作的代码演示的描述,希望会给你带来一些帮助在此方面。

附:

AdoDB中存在一个setTransactionMode()方法,能够设置事务的隔离级别,如下:

 
 
 
  1. SetTransactionMode allows you to pass in the transaction mode to use for all 
    subsequent transactions for that connection session. Note: if you have persistent 
    connections and using mysql or mssql, you might have to explicitly reset your 
    transaction mode at the beginning of each page request. This is only supported in postgresql, 
    mssql, mysql with InnoDB and oci8 currently. For example:  
  2. $db->SetTransactionMode("SERIALIZABLE");  
  3. $db->BeginTrans();  
  4. $db->Execute(...); $db->Execute(...);  
  5. $db->CommiTrans();  
  6. $db->SetTransactionMode(""); // restore to default  
  7. $db->StartTrans();  
  8. $db->Execute(...); $db->Execute(...);  
  9. $db->CompleteTrans();  
  10. Supported values to pass in:  
  11. * READ UNCOMMITTED (allows dirty reads, but fastest)  
  12. * READ COMMITTED (default postgres, mssql and oci8)  
  13. * REPEATABLE READ (default mysql)  
  14. * SERIALIZABLE (slowest and most restrictive)   

以上的相关内容就是对PHP + MySQL事务操作的代码演示的介绍,望你能有所收获。

【编辑推荐】

  1. MySQL命令导数据的实际操作与代码
  2. MySQL基本操作,新手入门宝典
  3. MySQL常用命令大汇总
  4. MySQL数据库安全设置的操作流程
  5. 实现MySQL 用户密码的设置步骤

文章名称:PHP + MySQL事务操作的实际应用代码演示
标题链接:http://www.hantingmc.com/qtweb/news5/243255.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联