Php 如何强制MySQL返回有限的行?

Php 如何强制MySQL返回有限的行?,php,mysql,limit,Php,Mysql,Limit,我想限制用户提交的mysql查询结果。 目前我只是用PHP解析查询字符串,然后在最后添加LIMIT。 对于具有许多嵌套选择/联接的更复杂的查询,情况变得越来越复杂,也越来越不可预测。 有没有常见的方法可以强制mysql只返回有限的结果,即使用户要求完整的结果集 谢谢Arman您正在请求一些服务器配置设置,以限制所有查询返回的最大行数。也就是说,select*from mytable将返回最大x数(x在全局服务器配置中设置)或行数,即使表中还有更多行 不幸的是,这在MySQL的标准发行版中是不可能

我想限制用户提交的mysql查询结果。 目前我只是用PHP解析查询字符串,然后在最后添加
LIMIT
。 对于具有许多嵌套选择/联接的更复杂的查询,情况变得越来越复杂,也越来越不可预测。 有没有常见的方法可以强制mysql只返回有限的结果,即使用户要求完整的结果集


谢谢
Arman

您正在请求一些服务器配置设置,以限制所有查询返回的最大行数。也就是说,
select*from mytable
将返回最大x数(x在全局服务器配置中设置)或行数,即使表中还有更多行

不幸的是,这在MySQL的标准发行版中是不可能的。您可以设置每小时最大查询数的限制,甚至可以设置用户在服务器中可以执行的操作。但是,不能全局设置查询结果中的行数限制

但是,您可以获取MySQL社区版源代码,并为全局查询结果限制添加配置。 此外,如果您正在使用某种连接器连接到MySQL(例如,如果您是从.NET连接到MySQL),您可以保持服务器不变,但修改连接器代码并在那里添加所需的限制配置选项。

如下所述:,可以使用MySQL设置“sql\u select\u limit”来限制返回记录的最大数量:


此设置至少可从MySQL 5.6获得。

限制是正确的方法。您希望实现什么?我有一个4Tb的表,但我希望立即允许检索最多50行。允许用户以只读模式访问。感谢提示,我使用的是PHP:PDO连接器,但我需要再次编写sql解析器来增加限制。