> 백엔드 개발 > PHP 튜토리얼 > php事宜未成功

php事宜未成功

WBOY
풀어 주다: 2016-06-13 13:26:56
원래의
995명이 탐색했습니다.

php事务未成功,

PHP code
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--><?php $conn = mysql_connect('localhost','root','123123') or die ("123!!!");
mysql_select_db('eshop',$conn);
mysql_query("set names 'GBK'"); //使用GBK中文编码;
?>
<?php mysql_query("SET AUTOCOMMIT=0"); 
$sql = "INSERT INTO `basket` (`id`, `status`, `qty`) VALUES (NULL, 'test1', '0')";
$sql2 = "INSERT INTO `basket` (`isd`, `status`, `qty`) VALUES (NULL, 'test1', '0')";//这条我故意写错
$res = mysql_query($sql);
$res1 = mysql_query($sql2); 
if($res && $res1){
mysql_query("COMMIT");
echo 'ss';
}else{
mysql_query("ROLLBACK");
echo 'dddd';
}
mysql_query("END"); 
?>
로그인 후 복사


以上代码,由于sql2之错误,所以不能提交的。但是,我run以后,还是插入了一条数据啊?可悲啊》为何不执行回滚,再删除那条数据呢?不解。

------解决方案--------------------
因为你写的一条算一个事务 当然不会回滚第一条了


要想回滚第一条

start transaction;
insert 。。
insert。。。
commit;
------解决方案--------------------
为什么只有你自己知道,没难度。
------解决方案--------------------
innodb支持事务,myisam不支持事务
------解决方案--------------------
[Quote=引用:]

[Quote=引用:]

为什么只有你自己知道,没难度。
[/Quote]

天哪,好汉,你竟说没难度,你问问我论坛有几人能

你真能吹。
[/Quote]

有几人能。。。 你说这种大话真不怕丢脸, 去看看TAOBAO公开的技术架构演变, 看看人家怎么拆表拆库还保证可以做事务吧。


[Quote=引用:]

引用:

innodb支持事务,myisam不支持事务

好汉,正解。看来以来,要将后者弃之
[/Quote]

这话说的,楼主不怕天下人耻笑。
관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿