首页 > 代码库 > 【PHP】 mysqli_autocommit() 函数
【PHP】 mysqli_autocommit() 函数
//获取每一篇文章的内容 function getPost($f_parent_id, $f_title, $f_username, $f_board_id,$f_post_time, $f_ip,$content){ $Artical = array(); $conn=db_connect(); $conn->autocommit(FALSE); $sql="INSERT into t_article (f_parent_id, f_title, f_username, f_board_id,f_post_time, f_ip) values"; $sql.="(‘".$f_parent_id."‘,‘".$f_title."‘,‘".$f_username."‘,‘".$f_board_id."‘,‘".$f_post_time."‘,‘".$f_ip."‘)"; $rs1=$conn->query($sql); $ttt=mysqli_insert_id($conn); $sq4="SELECT * from t_postinfo where f_uname=‘".$f_username."‘"; $rs4=$conn->query($sq4); if($rs4 && $rs4->num_rows){ $t=$rs4->fetch_object(); $post_reply=$f_parent_id ? $t->f_reply_times : $t->f_post_times; } $sq2="INSERT into t_article_content (f_id, f_content ) values (LAST_INSERT_ID(),‘".$content."‘)"; $rs2=$conn->query($sq2); if($f_parent_id){ $sq3="UPDATE t_article set f_has_child=1 where f_id=‘".$f_parent_id."‘"; $rs3=$conn->query($sq3); $sq4="UPDATE t_postinfo set f_reply_times=$post_reply+1 where f_uname=‘".$f_username."‘"; $rs4=$conn->query($sq4); }else{ $sq4="UPDATE t_postinfo set f_post_times=$post_reply+1 where f_uname=‘".$f_username."‘"; $rs4=$conn->query($sq4); } if( ($rs1 && $rs2 && $f_parent_id && $rs3 && $rs4) || ($rs1 && $rs2 && !$f_parent_id && $rs4)){ $conn->commit(); $ret=$ttt; }else{ $conn->rollback(); $ret=true; } $conn->close(); return $ret; }
mysqli_autocommit() 函数开启或关闭自动提交数据库修改。
mysqli_commit() 函数,用于提交指定数据库连接的当前事务。
mysqli_rollback() 函数,用于回滚当前事务。
http://www.runoob.com/php/func-mysqli-autocommit.html
事务:一系列要发生的连续的操作
事务安全:一种保护连续操作同时满足的一种机制
事务意义:保证数据操作的完整性
事务的操作:自动事务(默认)、手动事务
手动事务:
1.开启事务:告诉系统以下所有操作不要直接写入数据表,先存放到事务日志;
2.进行事务操作;
3.关闭事务:选择性的将日志文件中操作的结果保存到数据表;
a.提交事务:同步数据表(操作成功)commit
b.回滚事务:情况日志表(操作失败)rollback
前提:引擎是innodb
回滚点:在某个成功的操作完成后,后续的操作可能成功可能失败,可以在当前成功的位置,设置回滚点,可供后续失败操作返回的位置,而不是返回所有操作。
【PHP】 mysqli_autocommit() 函数
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。