고수님들 mysql 초보입니다.
로그인 후 로그인한 정보 조회할 경우 조회가 되지 않습니다. - sleep 1 초정도 주면 조회됨
구조는 login - token 발행 - token으로 정보 사용자 정보 조회
각각 프로시저로 구성되어있습니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | token table 에 insert 프로시저 ---------------------------------------------------------------------------------- START TRANSACTION ; INSERT INTO tm_playerapi (player_fk, token, cid, secret, error, regdate, delete_flag) VALUES (@nPK, i_szToken, szClient_ID, szClient_Secret, nError, UTC_TIMESTAMP(), nDelete_Flag); SET @nPK_New = LAST_INSERT_ID(); IF ( ISNULL (@nPK_New) OR @nPK_New = 0 OR @nPK_New = @nPK_Old) THEN SET o_nRetCode = -111100; SET o_szRetMSG = "INSERT tm_playerapi Fail" ; ROLLBACK ; LEAVE Proc_Main; END IF; COMMIT ; |
-----------------------------------------------------------------------------------------------------------
token insert 후 프로시저 종료
php 에서 로그인하면 token 발행 진행되고 바로 홈화면에서 사용자 정보 조회하는데 등록되지 않은 token이라고 나옴
-----------------------------------------------------------------------------------------------------------
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | IN i_szToken VARCHAR (500), OUT o_szPlayer_ID VARCHAR (40) ) BEGIN DECLARE szPlayer_ID VARCHAR (40) DEFAULT NULL ; SET @dtUTCNow = UTC_TIMESTAMP(); SELECT PL.player_id INTO szPlayer_ID FROM tm_player AS PL INNER JOIN tm_playerapi AS PA ON PA.player_fk = PL.player_pk WHERE PA.token = i_szToken AND TIMESTAMPDIFF( second , PA.regdate, @dtUTCNow) > 0; SET o_szPlayer_ID = szPlayer_ID; |
-----------------------------------------------------------------------------------------------------------
token으로 사용자 id 알아오는 프로시저 여기서 null 로 나오고 다시 동일한 token으로 진행하면 정상 진행 됨...
도와주십쇼