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();
?>
相关文档:
[PHP]
;;;;;;;;;;;;;;;;;;;
; About php.ini ;
;;;;;;;;;;;;;;;;;;;
; PHP's initialization file, generally called php.ini, is responsible for
; configuring many of the aspects of PHP's behavior.
; PHP attempts to find and load this configuration from a number of locations.
; The follo ......
<?php
/**
* 使用共享内存的PHP循环内存队列实现
* 支持多进程, 支持各种数据类型的存储
* 注: 完成入队或出队操作,尽快使用unset(), 以释放临界区
*
* @author wangbinandi@gmail.com
* @created 2009-12-23
*/
class SHMQueue
{
private $maxQSize = 0; // 队列最大长度
private $front = 0; ......
在PHP里,如果你没有手写构造函数,则php在实例化这个对象的时候,会自动为类成员以及类方法进行初始化,分配内存等工作,但是有些时候不能满足我们的要求,比如我们要在对象实例化的时候传递参数,那么就需要手动编写构造函数了,手写构造函数有两种写法,只是表现形式不同,其实本质一样
class test
{
&nb ......
整理活:PHP的日期时间函数date()
1,年-月-日
echo date('Y-m-j');
2007-02-6
echo date('y-n-j');
07-2-6
大写Y表示年四位数字,而小写y表示年的两位数字;
小写m表示月份的数字(带前导),而小写n则表示不带前导的月份数字。
echo date('Y-M-j');
2007-Feb-6
echo date('Y-m-d');
2007-02-06
大写M表示月份的 ......
PHP中类的方法也和C++通过关键字 private
、Public
、 protected
来控制的。下边是详细说明:
1、private
函数前使用关键字Private表示函数是私有的,私有的意思顾名思义,针对当前类私有,无论是他的子类还是他的实例都无法访问。
还是先看代码:
&nbs ......