我正在用这个查询处理我的问题。任何帮助将非常感激。我会尽量简单地将其分解,但请让我知道我是否太模糊。MySQL查询 - 连接时出现问题,过滤结果
有四个部分:刑事,家庭,公民和商业。每个人都有最后更新报告的用户的判断ID和用户ID以及报告信息。
然后有一个用户表,用户ID和用户类型。
有一个判断表和一个判断ID和裁判的名字。
我想要做的事情:根据当前的月份和年份,从四个部分之一($ court)获取所有当前报告,找到与每个判定ID相对应的每个判定的姓名,然后(这是我遇到问题的地方)根据userType'user'(而不是admin)的用户标识过滤报告。
这里是我(在PHP有一点点):
$query = "SELECT Name FROM judges LEFT JOIN $court
ON ($court.JudgeID = judges.JudgeID)
where Month='$month' and Year='$year' order by Name asc;";
这是由我遇到的麻烦的用户类型的用户id只是后续的滤波。
动态表名是一个主要的SQL注入头痛。确保你将其注入查询之前检查'与允许表名的白名单$ court',请参阅:http://stackoverflow.com/questions/5811834/how-to-prevent-sql-injection-with-dynamic-tablenames – Johan