php开启事务
您好,MySQL提交方式autocommit默认开启,这种模式本身就是以每次查询为一次单独的事务。
当开启事务后,直到执行commit语句才会提交,所以不会自动提交,否则我们开启事务也没有意义了呀。
希望能帮到您。
Ⅱ windows系统下怎样开启php的 php
在程序开发过程中,我们可能有很多情况下需要自动的执行某一段代码从而使程序自动更新某模块的状态等,下面说明了如何使系统自动执行php代码的方法。
1.打开控制面板-》任务计划
2.双击添加任务计划点击“浏览”,找到php解释器所在的位置,并选择php.exe给自己添加的任务起一个名字,随便选一个选项,点击下一步输入系统用户名和密码,一般用户名是默认输入好的输入完成后点击下一步,弹出完成提示框,勾选复选框打开任务高级设置对话框,编辑“运行”栏,在后面加上你要运行的php文件,设置运行时间即可。
Ⅲ php mysql 事务怎么写
建一张test表
set autocommit=0;//设置mysql不自动提交就是不自动执行sql语句
begin; //开启一个事务
insert into test value(test);
insert into test value(test2);
commit;//提交 ,会执行上面2句sql语句 此时test 表里面有 test 和 test2 2条数据
begin; //开启一个事务
insert into test values(test3);
rollback; //回滚 , test表里面并没有test3 这条数据
通常 在php里面会判断 if(!mysql_query($sql)){mysql_query('rollback');} 就是如果没有成功执行sql就进行回滚,比如转账我给你10块钱 先从我账号里面减去10元 再从你账户加10元 这就是2条sql 要保证都能执行完成
Ⅳ 请问在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();
}
}
Ⅳ php中事务处理是什么意思
事务:是若干事件的集合
事务处理:当所有事件执行成功,事务才执行;若有任何一个事件不能成功执行,事务的其它事件也不被执行