如何编辑这个php检查功能并添加其他功能?

时间:2014-11-14 22:26:55

标签: php

我在下面检查了下面的检查,检查表中是否存在strCharID1strCharID2strCharID3中的任何一个:User_RaceChangeLog并且会显示错误消息出现。

$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,strCharID3表中是否存在USERDATA,如果Zone列为253或254,则会显示相同的错误消息? 我尝试了很多方法来实现这一点,但是,我不知道如何根据USERDATA表 - 列ACCOUNT_CHAR来构建查询以获取strCharID1,strCharID2,strCharID3信息?

如果有人可以帮助我并且发布我应该做的事情的例子,那将非常感激。谢谢!

1 个答案:

答案 0 :(得分: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);