PHP数据库事务处理
在使用php中使用数据库事务处理并不复杂,主要用到的是mysqli类的3个成员函数。
(1)autocommit(bool mode),设置数据库自动提交状态。当mode为TRUE时,打开自动提交设置,当mode为FASLE时,关闭自动设置。所谓自动提交,就是MYSQL每执行一条SQL语句,该SQL语句的执行结果马上生效。而非自动提交时,则执行结果要一直到commit()语句被执行时生效,或者到rollback()语句被执行时执行结果被取消,数据库回复到当前事务之前的状态。另外,本函数只影响当前数据库连接间发生的数据库操作,即在一下一数据库连接建立之后,自动提交状态将复成Mysql数据库内部的设置。
(2)commit(),提交当前事务的执行结果。
(3)rollback(),取消当前事务的执行结果。
PHP中使用事务处理的代码框架如下所示:
<?php
$conn=db_connect();//连接数据库该函数为另外定义的。
$conn->autocommit(FALSE);
$rsl = $conn->query($sql1);
$rs2 = $conn->query($sql2);
...
$rsn= $conn->query($sqln);
if($rs1&&$rs2&&...&$sqln)
$conn->commit();
else
$conn->rollback();
$conn->close();
?>
相关文档:
在实际开发过程会经常会遇到一些重复的操作,如果每次都要自己去实现这无疑加重了自己的工作量,下面对一些可能经常用到的类做个整理:
图表库
下面的类库可以让你很简单就能创建复杂的图表和图片。当然,它们需要GD库的支持。
pChart - 一个可以创建统计图的库。
Libchart - 这也是一个简单的统计图库。
JpGraph - 一 ......
Php Variable Circular References
Circular-references has been a long outstanding issue with PHP. They are
caused by the fact that PHP uses a reference counted memory allocation
mechanism for its internal variables. This causes problems for longer
running scripts (such as an Applicatio ......
在PHP里,如果你没有手写构造函数,则php在实例化这个对象的时候,会自动为类成员以及类方法进行初始化,分配内存等工作,但是有些时候不能满足我们的要求,比如我们要在对象实例化的时候传递参数,那么就需要手动编写构造函数了,手写构造函数有两种写法,只是表现形式不同,其实本质一样
class test
{
&nb ......
循环引用一直是PHP(应用)中一个突出的问题。问题的出现是由于这样的一个事实:PHP为php内部变量使用一个“引用计数器”内存分配机制。这一机制对一些相比来说较长时间运行的脚本(比如,应用服务器或者eZ测试组件)会引发问题,因为内存在脚本结束前事不会被释放掉的。但是,(几乎)没有人 ......