我在下面进行了以下检查,检查表中是否存在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;
}
我想做什么?
我正在尝试添加第二个检查USERDATA
表中是否存在strCharID1,strCharID2,strCharID3
中的任何Zone
以及如果列是 253 或 254 以显示相同的错误消息?我尝试了很多方法来实现这一目标,但是,我不知道如何构建我的查询以根据ACCOUNT_CHAR
表获取USERDATA
信息 - 列strCharID1,strCharID2,strCharID3
?
如果有人可以帮助我并发布我应该做什么的例子,我们将不胜感激。 谢谢!
我猜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);