我在下面检查了下面的检查,检查表中是否存在strCharID1
,strCharID2
或strCharID3
中的任何一个: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
信息?
如果有人可以帮助我并且发布我应该做的事情的例子,那将非常感激。谢谢!
答案 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);