2014-11-14 43 views
0

我收到下面的檢查,檢查表中是否存在strCharID1,strCharID2strCharID3User_RaceChangeLog,並且會顯示一條錯誤消息。如何編輯這個php檢查函數並添加額外的?

$sql = 'SELECT * FROM User_RaceChangeLog r 
     LEFT OUTER JOIN ACCOUNT_CHAR a 
        ON ((a.strCharID1 = r.strUserID) 
        OR (a.strCharID2 = r.strUserID) 
        OR (a.strCharID3 = r.strUserID)) 
     WHERE a.strAccountID = ?'; 

if ($db->doQuery($sql, $_SESSION['strAccountID']) > 0) 
{ 
    $this->content = Template::Load('error', 
     array('errmsg' => Template::GetLangVar('NATION_TRANSFER_ERROR_5'))); 
    return false; 
} 

我想要做什麼?

我想如果任何strCharID1,strCharID2,strCharID3USERDATA表中存在,並且如果Zone列是253或254出現相同的錯誤消息來添加第二檢查? 我嘗試了很多方法來實現這一目標,但是,我不知道如何構建我的查詢來獲得USERDATA信息基於ACCOUNT_CHAR表 - 列strCharID1,strCharID2,strCharID3

如果有人能夠幫助我,並且只是發表我應該做的事情的例子,我們將非常感激。謝謝!

+0

此「區域」列位於何處? – robbmj 2014-11-14 22:46:18

回答

0

我猜USER_DATA有strUserId,zone是USER_DATA表中的一列。

$sql = 'SELECT * FROM User_RaceChangeLog r 
    LEFT OUTER JOIN ACCOUNT_CHAR a 
       ON ((a.strCharID1 = r.strUserID) 
       OR (a.strCharID2 = r.strUserID) 
       OR (a.strCharID3 = r.strUserID)) 
    LEFT OUTER JOIN USER_DATA u 
       ON ((u.strUserID = a.strCharID1) 
       OR (u.strUserID = a.strCharID1) 
       OR (u.strUserID = a.strCharID1)) 
    WHERE a.strAccountID = ?' AND u.zone in (253,254); 
相關問題