Home  >  Article  >  Backend Development  >  php事宜未成功

php事宜未成功

WBOY
WBOYOriginal
2016-06-13 13:26:56966browse

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]

这话说的,楼主不怕天下人耻笑。
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn