From 28d5a5c39a3aa866816a0f7b1abdcfe9f8de4766 Mon Sep 17 00:00:00 2001 From: hide_d Date: Sun, 18 Aug 2019 17:50:38 +0900 Subject: [PATCH] =?UTF-8?q?=EC=9E=A5=EC=88=98=20=EC=83=9D=EC=84=B1?= =?UTF-8?q?=EC=8B=9C=20=EB=B9=A0=EB=A5=B4=EA=B2=8C=20=EC=BF=BC=EB=A6=AC?= =?UTF-8?q?=EB=A5=BC=20=EB=82=A0=EB=A0=A4=20=EC=A4=91=EB=B3=B5=20=EC=83=9D?= =?UTF-8?q?=EC=84=B1=ED=95=98=EB=8A=94=20=EA=B2=83=EC=9D=B4=20=EB=B6=88?= =?UTF-8?q?=EA=B0=80=EB=8A=A5=ED=95=98=EB=8F=84=EB=A1=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- hwe/j_select_npc.php | 4 ++++ hwe/join_post.php | 10 ++++++++++ 2 files changed, 14 insertions(+) diff --git a/hwe/j_select_npc.php b/hwe/j_select_npc.php index 3909a753..edb0e66b 100644 --- a/hwe/j_select_npc.php +++ b/hwe/j_select_npc.php @@ -71,6 +71,8 @@ if ($gencount >= $maxgeneral) { ]); } +$db->query("lock tables plock write"); + //등록 시작 $db->update('general', [ 'name2'=>$userNick, @@ -81,6 +83,8 @@ $db->update('general', [ 'owner'=>$userID, ], 'owner <= 0 AND npc = 2 AND no = %i', $pick); +$db->query("unlock tables"); + if(!$db->affectedRows()){ Json::die([ 'result'=>false, diff --git a/hwe/join_post.php b/hwe/join_post.php index a7e0395f..507e0d4e 100644 --- a/hwe/join_post.php +++ b/hwe/join_post.php @@ -71,6 +71,8 @@ $gameStor = KVStorage::getStorage($db, 'game_env'); $gameStor->cacheValues(['year','month','maxgeneral','scenario','show_img_level','turnterm','turntime','genius','npcmode']); ########## 동일 정보 존재여부 확인. ########## +$db->query("lock tables plock write"); + $gencount = $db->queryFirstField('SELECT count(`no`) FROM general WHERE npc<2'); $oldGeneral = $db->queryFirstField('SELECT `no` FROM general WHERE `owner`=%i', $userID); $oldName = $db->queryFirstField('SELECT `no` FROM general WHERE `name`=%s', $name); @@ -80,6 +82,7 @@ if ($oldGeneral) { window.alert('이미 등록하셨습니다!') history.go(-1) "); + $db->query("unlock tables"); exit; } if ($oldName) { @@ -87,6 +90,7 @@ if ($oldName) { window.alert('이미 있는 장수입니다. 다른 이름으로 등록해 주세요!') history.go(-1) "); + $db->query("unlock tables"); exit; } if ($gameStor->maxgeneral <= $gencount) { @@ -94,6 +98,7 @@ if ($gameStor->maxgeneral <= $gencount) { window.alert('더이상 등록할 수 없습니다!') history.go(-1) "); + $db->query("unlock tables"); exit; } if (mb_strlen($name) < 1) { @@ -101,6 +106,7 @@ if (mb_strlen($name) < 1) { window.alert('이름이 짧습니다. 다시 가입해주세요!') history.go(-1) "); + $db->query("unlock tables"); exit; } if (mb_strlen($name) > 9) { @@ -108,6 +114,7 @@ if (mb_strlen($name) > 9) { window.alert('이름이 유효하지 않습니다. 다시 가입해주세요!') history.go(-1) "); + $db->query("unlock tables"); exit; } if ($leader + $power + $intel > GameConst::$defaultStatTotal) { @@ -115,6 +122,7 @@ if ($leader + $power + $intel > GameConst::$defaultStatTotal) { window.alert('능력치가 ".GameConst::$defaultStatTotal."을 넘어섰습니다. 다시 가입해주세요!') history.go(-1) "); + $db->query("unlock tables"); exit; } @@ -247,6 +255,8 @@ $db->insert('general', [ ]); $generalID = $db->insertId(); +$db->query("unlock tables"); + $cityname = CityConst::byID($city)->name; $me = [