PHP MySQL LIMIT
在本教程中,您将学习如何使用PHP从MySQL数据库表中读取有限数量的记录。
限制结果集
LIMIT子句用于限制SELECT语句返回的行数。此功能对于优化页面加载时间以及增强网站的可读性很有帮助。例如,您可以使用分页将大量记录划分为多个页面,当用户通过单击分页链接来请求该页面时,将从数据库的每个页面中加载有限数量的记录。
LIMIT子句的基本语法可以通过以下方式给出:
SELECT column_name(s) FROM table_name LIMIT row_offset, row_count;
LIMIT子句接受一个或两个必须为非负整数的参数:当指定了两个参数时,第一个参数指定要返回的第一行的偏移量,即起点,而第二个参数指定要返回的行数。第一行的偏移量是0(不是1)。
而当只给出一个参数时,它指定从结果集的开头返回的最大行数。
例如,要检索前三行,可以使用以下查询:
SELECT * FROM persons LIMIT 3;
要检索结果集的第2-4行(含),可以使用以下查询:
SELECT * FROM persons LIMIT 1, 3;
让我们使用SELECT语句中的LIMIT子句进行一个SQL查询,然后通过将其传递给PHP mysqli_query()函数来执行此查询,以获得有限的记录数。请考虑演示数据库中的以下persons表:+----+------------+-----------+----------------------+
| id | first_name | last_name | email |
+----+------------+-----------+----------------------+
| 1 | Peter | Parker | peterparker@mail.com |
| 2 | John | Rambo | johnrambo@mail.com |
| 3 | Clark | Kent | clarkkent@mail.com |
| 4 | John | Carter | johncarter@mail.com |
| 5 | Harry | Potter | harrypotter@mail.com |
+----+------------+-----------+----------------------+
以下示例中的PHP代码仅显示persons表中的三行。
示例:面向过程方式
示例:面向对象方式
示例:PDO方式
限制结果集后,输出将如下所示:+----+------------+-----------+----------------------+
| id | first_name | last_name | email |
+----+------------+-----------+----------------------+
| 1 | Peter | Parker | peterparker@mail.com |
| 2 | John | Rambo | johnrambo@mail.com |
| 3 | Clark | Kent | clarkkent@mail.com |
+----+------------+-----------+----------------------+