《mysql简单事务sql语句_mysqli的多条sql语句操作以及简单的事务处理~~~~~》由会员分享,可在线阅读,更多相关《mysql简单事务sql语句_mysqli的多条sql语句操作以及简单的事务处理~~~~~(5页珍藏版)》请在金锄头文库上搜索。
1、mysqI简单事务sql语句_mysqli的多条sql语句操作以及简单的事务处理首先介绍一下多条sql语句的操作普通的方法:$mysqli-query();通知他们执行方法:$mysqli-multi_query();拼接sql语句/更新数据(其他的删除,)$sql=UPDATEzd_adminSETlevel=1WHEREid=1;$sql.=UPDATEzd_messageSETprice=1WHEREid=1;$sql.=UPDATEzd_loginSETlevel=1WHEREid=1;如果是更新语句的话,无论是哪种方法都可以。但是如果是查询,添加语句的话,因为我们需要查找数据,直接用
2、query就不行所以要学会使用multi_query()是很重要的例如:拼接sql语句/查询语句sql=SELECT*FROMzd_admin;$sql.=SELECT*FROMzd_message;$sql.=SELECT*FROMzd_login;-介绍两个个函数$mysqli-store_result():将数据的结果集取出来$mysqli-next_result():执行下一个sql语句思路:这样子的话,首先执行第一sql条,然后获取到数据,进行CURL操作之后,通知它可以执行第二条sql语句注意:$mysqli-multi_query();得到的结果trueorfalse,而true
3、orfalse是根据第一条sql语句决定f(!$data)print($data-feecho/将指针移动到下一条s$mysqli-next_resu$data=$mysqli-Store_result();二:业哑鼬J应龍陆训嫌ffsa3IfJ-i:0Ti-:1:E:rVfaSehionFhlFLECTLECT*FROM获取结果集合的数据,|jg$data=$mysqli-store_echo第一条sql语句有if(!$data)echo第二条sql语句有误;exit;print_r($data-fetch_row();echo将指针移动到下一条sql语句$mysqli-next_resul
4、t();$data=$mysqli-store_result();if(!$data)echo第三条sql语句有误;exit;print_r($data-fetch_row();事务处理介绍几个函数/关闭提交,默认的话是自动提交的$mysqli-autocommit(false);手动提交。$mysqli-commit();执行回滚$mysqli-rollback();这三个的详细可以查看php手册,这里不讲在第一步操作之前首先先确定一下自己数据库的搜索引擎:修改成为InooDB步骤:进入phpmyadmin-选择数据库-数据表-操作-选择存储引擎1语句是否执行成功的结果决定是执行回滚还是提胪
5、血:+-i_imatjfiiI:._+-.首先你必须关闭自动提交数据必须同时运行成功才进行数据库操作,header(Content-Type:text/html;Charset=utf-8);/连接数据库$mysqli=newmysqli(localhost,root,test);/处理连接错误if(mysqli_connect_errno()echo数据库连接失败,失败原因:.mysqli_connect_error();exit();设置一下编码$mysqli-set_charset(utf8);关闭提交,默认的话是自动提交的$mysqli-autocommit(false);创建一个SQ
6、L语句,必须同时运行成功,不能出现一个成功,一个失败$sql=UPDATEzd_loginSETlevel=level+100WHEREid=1;$sql.=UPDATEzd_messageSETprice=price-100WHEREid=1;判断第一条sql语句是否错误if($mysqli-multi_query($sql)/判断影响的条数是否为1,$success=$mysqli-affected_rows=1?true:false;这个是可以省略的,这里是给我输出sql语句的错误信息,查找sql错误的时候有用if($mysqli-errno)echo$mysqli-error;exit;下移指针,后马上进行了第二条sql语句的操作$mysqli-next_result();if($mysqli-errno)echo$mysqli-error;exit;$success2=$mysqli-affected_rows=1?true:false;/如果两条数据都成功的话if($success&$success2)手动提交。$mysqli-commit();echo完美提交;exit;else执行回滚$mysqli-rollback();echo所有操作归零;exit;elseecho第一条sql语句错误;exit;