当前位置:首页 » 编程语言 » php事务处理

php事务处理

发布时间: 2022-05-22 03:53:10

php可以实现每天6点自动处理事务吗

Linux的cron本身具备这个功能,需要执行的任务放在/etc/crontab目录下的相关文件里就可以了,Linux/Unix系统之所以稳定持久,我想一部分的原因也是因为这个cron,很多维护的工作都在这里面设置好了

就算php能够定时执行,也会大大加重系统的负担,没有必要的

Ⅱ thinkphp中怎么使用多表事务处理

在 Thinkphp 3.2.3 下测试通过。

Thinkphp 对事务的处理非常简单。单表事务只需使用 M 函数实例化一个数据表对象,如果操作成功则提交,失败则回滚。例如:

[php]view plain

  • $User=M('user');

  • $User->startTrans();//开启事务

  • $id=$User->add(['name'=>'hongxuan']);

  • //

  • //TODO其它操作

  • //

  • if($id){//插入成功

  • $User->commit();//提交

  • }else{//添加失败

  • $User->rollback();//回滚

  • }


  • 对多表的事务处理也非常简便。先用 M 函数实例化一个空对象,使用 table 方法进行多个表的操作,如果操作成功则提交,失败则回滚。例如:
  • [php]view plain

  • $Model=M();//实例化一个空对象

  • $Model->startTrans();//开启事务

  • //

  • //TODO其它操作

  • //

  • //table方法中的数据表名要带上前缀,这里为“test_”。

  • $Model->table('test_user')->add(['name'=>'admin']);

  • $Model->table('test_key')->add(['key'=>'test']);

  • $Model->table('test_value')->add(['value'=>'test']);

  • $Model->table('test_task')->add(['task'=>'test']);

  • if(操作成功的条件){

  • $Model->commit();//成功则提交事务

  • }else{

  • $Model->rollback();//否则将事务回滚

  • }

Ⅲ 简述什么是事务处理以及PHP中PDO事务处理的实现过程

事物是一个原子操作。比如说要执行一系列操作 用户冲钱 加钱 然后加积分。中间可能某条失败 让它回滚

Ⅳ php事务处理后怎样进行页面跳转

<?php
header("Location: http://www.example.com/");
?>

把http://www.example.com/改成你要跳转到的页面就行了。

Ⅳ PHP一般是如何做sql事务处理的

事务是tran
不是trin
begin
tran
delete
from
a
where
uid='002'
delete
from
b
where
uid='002'
commit
tran
如果没有特殊需要,不必使用rollback
tran,执行两个表删除的时候,如果遇到某个语句出错,都会自动回滚的。

Ⅵ php中有没有事务的概念

事务操作一般情况下只是在数据库层面上体现,在PHP中是没有事务概念的。常用的数据库MySQL,SQLServer,Oracle等都支持事务处理。:)
其实很简单就是SQL语句,在执行事务前使用Begin Trans(说明不同的数据库事务处理不同,思路相同)
然后进行事务处理,如果成功则Commit提交事务,如果失败可以使用Rollback回滚事务。
希望对你有帮助。

Ⅶ PHP中PDO的事务处理如何分析

事务处理具有四个特性:原子性、一致性、独立性、持久性。

并不是所有的数据库都支持事务处理的,PDO 为能够执行事务处理的数据库提供事务支持。

配置事务处理需注意:

1、关闭 PDO 的自动提交;

$pdo->setAttribute(PDO::ATTR_AUTOCOMMIT, false);

2、开启一个事务需要的方法;

$pdo->beginTransaction(); // 开启一个事务
$pdo->commit(); // 提交事务
$pdo->rollback(); // 回滚事务

3、一般事务处理是运行在 try...catch...语句中,当事务失败时执行 catch 代码段。

php
try {
$pdo->beginTransaction(); // 开启一个事务
$row = null;
$row = $pdo->exec("xxx"); // 执行第一个 SQL
if (!$row)
throw new PDOException('提示信息或执行动作'); // 如出现异常提示信息或执行动作
$row = $pdo->exec("xxx"); // 执行第二个 SQL
if (!$row)
throw new PDOException('提示信息或执行动作');
$pdo->commit();
} catch (PDOException $e) {
$pdo->rollback(); // 执行失败,事务回滚
exit($e->getMessage());
}
?>

在事务中的 SQL 语句,如果出现错误,那么所有的 SQL 都不执行。当所有 SQL 有无误的时候,才提交执行。

Ⅷ php中事务处理是什么意思

事务:是若干事件的集合
事务处理:当所有事件执行成功,事务才执行;若有任何一个事件不能成功执行,事务的其它事件也不被执行

Ⅸ 支付宝及时付款怎么用php事务处理

你用的框架还是原生?

原生和框架代码不同 但是大概意思都是一样的。例如原生的pdo吧:

<?php
$pdo=newpdo("mysql:host=localhost;dbname=mydb","root","root",array(PDO::ATTR_AUTOCOMMIT=>0));
try{
$pdo->beginTransaction();//开启事务处理
$price=500;
$sql="updatexxsetprice=price-{$price}whereid=1";
$affected_rows=$pdo->exec($sql);
if(!$affected_rows)
thrownewPDOException("失败");//那个错误抛出异常
$sql="updatezhanghaosetprice=price+{$price}whereid=3";
$affected_rows=$pdo->exec($sql);
if(!$affected_rows)
thrownewPDOException("失败");
echo"交易成功!";
$pdo->commit();//交易成功就提交
}catch(PDOException$e){
echo$e->getMessage();
$pdo->rollback();
}
/*这是原生pdo的事务一个简单实例
*至于框架就更简单了一般model类都有定义
*具体流程意思就是开启事务事务出错就回滚rollback();事务成功就提交commit();
*/
?>

Ⅹ 请问在php中如何控制多表事务

php框架中多表事务操作实例,参考如下:
function makeAcquire($nUsers,$nAwards)
{
//更新数据库
$tranDb = new Model();
$tranDb->startTrans();
for($i = 0; $i < sizeof($nUsers); $i++)
{
//更新表Acquire
$flagAc = $tranDb->table('Acquire')->add($acquire);
//更新表Users
$where = array('u_id'=>$nUsers[$i]['u_id']);
$flagU = $tranDb->table('Users')->where($where)->setInc('u_man_count',1);
//更新表Award
$where = array('a_id'=>$nAwards[$i]['a_id']);
$flagA = $tranDb->table('Award')->where($where)->setDec('a_count',1);
}
if($flagAc && $flagU && $flagA)
{
$tranDb->commit();
}
else
{
$tranDb->rollback();
}
}

热点内容
pid算法调速 发布:2025-02-13 21:20:31 浏览:686
脚本中new 发布:2025-02-13 21:00:11 浏览:741
什么配置的笔记本电脑能玩神武 发布:2025-02-13 20:54:40 浏览:178
挑选云服务器需要注意什么 发布:2025-02-13 20:53:31 浏览:98
加密滴胶卡 发布:2025-02-13 20:30:48 浏览:275
javalogin 发布:2025-02-13 20:25:48 浏览:427
智联招聘无法上传照片 发布:2025-02-13 20:16:03 浏览:529
python元素替换list 发布:2025-02-13 20:03:48 浏览:773
windows系统账户名和密码是多少 发布:2025-02-13 20:03:02 浏览:531
我的世界带有商店服务器好吗 发布:2025-02-13 20:02:50 浏览:616