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();
?>
相关文档:
基础问题:
最近被单双引号困扰着,不知道什么时候用双引号,什么时候用单引号。总结区分一下
在大部份语言中,引号引起来的内容都表示为字符。
例如:
<a href="地址">链接</a>
echo "字符串";
print("字 ......
继承特性简化了对象,类的创建,增加了代码的重用性。但是PHP之支持单继承。如果想实现多继承的话就要用到PHP的借口。PHP可是实现多个接口。
不要用public以外的关键字来修饰接口中的类成员。对于方法,不写关键字也可以。这是一个借口类自身的天性决定的。那么我想他是为什么呢?
对于接口来说,它不能用protected,和pr ......
代码如下:
<?php
class Book{
static $num=0;
public function showme(){
echo '您是第'.self::$num.'位访客';
self::$num++;
......
互联网的今天,AJAX已经不是什么陌生的词汇了。说起AJAX,可能会立即想起因RSS而兴起的XML。XML的解析,恐怕已经不是什么难题了,特别是PHP5,大量的XML解析器的涌现,如最轻量级的SimpleXML。不过对于AJAX来说,XML的解析更倾向于前台Javascript的支持度。我想所有解析过XML的人,都会因树和节点而头大。不可否认,X ......
摘要: 用正则实现包含某个字符串很容易,但如果实现不包含某个字符串呢?作者给出了一个解决方案。
判断一个字符串中是否含有另一字符串,php有很多方法,如下:
1. 常见函数
strstr($str, "abc");
strstr($str, "abc");
2. 正则匹配
preg_match("/(abc)/is", $str);
p ......