【PHP】下らねぇ質問はID出して書き込みやがれ 81at PHP【PHP】下らねぇ質問はID出して書き込みやがれ 81 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト310:nobodyさん 09/02/22 22:46:19 1.php側はループさせると、テストにならんから、 実行中のsleepだけでいいことにして、ループ外した方がよさげ。 それから、ロック以外の例外の時も無限ループしちゃうわけで・・・ まぁ、テストだからいいけど。 311:nobodyさん 09/02/22 22:47:07 例外分かってないのでは? 312:nobodyさん 09/02/22 22:48:00 トランザクションも怪しいw 313:nobodyさん 09/02/22 23:08:50 3nGhqmkB >>310 そしたらループはずしてみようかな? 314:nobodyさん 09/02/22 23:17:01 3nGhqmkB よく考えたら、ロールバックしろ、とかいうアドバイスは無意味だな だってdatabase is lockedっていうエラーが出ているわけだから、 トランザクションをゲットできていないわけだから、 そもそもロールバックなんかしないわけで。 315:nobodyさん 09/02/22 23:19:21 3nGhqmkB ソースコードを改変したので、 3.phpと4.phpということにしました。 3.php <?php try { $oDbCxn = new PDO('sqlite:test1'); $oDbCxn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } catch (PDOException $e) { die("Error connecting to DB"); } $bUpdatePending = true; try { $oDbCxn->beginTransaction(); $oDbCxn->exec("UPDATE tb1 SET value = value + 1 WHERE id = '1'"); sleep(10); $oDbCxn->commit(); $bUpdatePending = false; // Exit the loop now the update has been done sleep(1); } catch (PDOException $e) { print( $e->getMessage()); $oDbCxn->rollback(); } ?> 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch