Mysql从select中选择行


Mysql selects rows from select

我有一个特定的问题,我需要生成函数。用户将sttring传递到此函数中。字符串是MYSQL查询,现在,我想把这个MYSQL查询改成这样,如果我得到例如SELECT student.name as person FROM student WHERE student.grade = 1 LIMIT 10,现在我需要创建像(SELECT student.name as person FROM student WHERE student.grade = 1 LIMIT 10) WHERE person = "John" LIMIT 5这样的东西(在哪里观察人)。在(和)之间的选择可以是任意的,但我在)之后的条件只能是聚合函数、限制和where条件。像这样的事情可能发生吗?我需要在php中创建它。我希望你能理解我。

谢谢你的帮助。

正如我在最初的评论中所说,这是一个非常非常糟糕的主意,但你可以简单地这样做:

选择*FROM([用户提供的查询])作为Q其中Q.Persons="John"极限5;

一旦将用户提供的查询包装为子查询,就可以像使用表一样使用它。当然,在这种情况下,如果用户提供的查询不包含person字段,则查询将出错。