PHP 对 mysql 的事务处理

mysql>mysql事务处理php代码实现事务的处理能够经过PHP预约义类mysqli的如下方法实现。
autocommit(boolean):该方法用于限定查询结果是否自动提交,若是该方法的参数为true则自动提交,若是参数为false则关闭自动提交。MySQL数据库默认为自动提交。
rollback():利用mysqli类中的该方法能够实现事务的回滚。

commit():利用该方法能够实现提交全部查询。 javascript


<?php
include_once("conn.php");

$id=$_GET[id];
$conn->autocommit(false);   // 设置为手动提交事务
if(!$conn->query("delete from tb_sco where id='".$id."'"))
{
$conn->rollback();   // 提交事务//发生错误 事务回滚
}
if(!$conn->query("delete from tb_stu where id='".$id."'"))
{
$conn->rollback();  //发生错误 事务回滚
}
$conn->commit();   //提交事务
$conn->autocommit(true);    // 设置事务为手动
echo "ok"

?> php

列二 java

<?php mysql

require('connectDB.php'); //创建数据库链接
mssql_query("BEGIN TRANSACTION DEPS02_DEL"); //开始事务
$delete_dep_sql="DELETE FROM TBLDEPARTMENT WHERE DEPTID='{$_GET[deptid]}'";
// echo $delete_dep_sql."<br>";
mssql_query($delete_dep_sql); //操做数据库
// var_dump($del_result);
$delete_result = mssql_query("select @@ROWCOUNT as id");
$delete_info = mssql_fetch_array($delete_result);
$delete_rows = $delete_info[0];
// var_dump($delete_rows);
mssql_free_result($delete_result);
echo "<script language=javascript>";
if(true){ //判断是否回滚提交
mssql_query("COMMIT TRANSACTION DEPS02_DEL"); //提交事务
echo "alert('delete success!');";
}else{
mssql_query("ROLLBACK TRANSACTION DEPS02_DEL"); //回滚事务
echo "alert('delete faile!');";
}
echo "</script>";mssql_close();

?> sql


php+mssql 的事务处理主要是以mssql的语言实现,php只是给其提供个与数据库对话的空间,若是以{BEGIN TRANSACTION }开始,后续的mssql就在该事务期间里,等待提交或回滚得指令;若是不在事务期间内就每一个语句直接操做数据库。 数据库


   原文复制与  http://hi.baidu.com/mevyen/item/51f413945d2295d81a49dfac
相关文章
相关标签/搜索