ホームページ  >  記事  >  バックエンド開発  >  PHPの問題が失敗しました

PHPの問題が失敗しました

WBOY
WBOYオリジナル
2016-06-13 13:26:56967ブラウズ

PHP トランザクションは失敗しました。

PHP コード
<!--

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 のエラーのため、上記のコードを送信できません。しかし、実行後もデータが挿入されたままですか?悲しいですね。」ロールバックを実行してそのデータを削除してみてはいかがでしょうか。困惑した。

-----解決策--------------------------------
書いたすべての単語は 1 単語としてカウントされるため、もちろんトランザクションは最初の単語をロールバックしません


最初の単語をロールバックしたい場合は

トランザクションを開始します。
を挿入します。 。
を挿入します。 。 。
コミット;
------解決策---------
理由はあなただけが知っています、それは難しいことではありません。
------解決策----------------------
innodb はトランザクションをサポートしますが、myisam はトランザクションをサポートしません
------解決策------------------
[Quote=Quote:]

[Quote=Quote:]

その理由はあなただけが知っています、それは難しいことではありません。
[/Quote]

なんてことだ、ヒーロー、あなたは実際には難しいことではないと言いましたが、フォーラムで何人がそれができるのか聞いてください

あなたは本当に自慢できます。
[/Quote]

何人までできますか。 。 。 そんな偉そうなことを言って恥をかくことを恐れる必要はありません。TAOBAO の公共技術アーキテクチャの進化を見て、時計や倉庫を解体しながらも確実にビジネスを行える方法を見てください。


[Quote=Quote:]

Quote:

innodb はトランザクションをサポートしますが、myisam はトランザクションをサポートしません

いいやつです、正解です。後者は放棄する必要があるようです
[/Quote]

あなたが言うように、投稿者は世界からの嘲笑を恐れていません。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。