JAR*_*001 -1 php sql mysqli pdo
我在使用SQL LIMIT语句时遇到问题.我有21条记录存储在数据库中,我想分段得到结果.我写了这个查询:
"SELECT * FROM table JOIN another_table ON XXX = YYY WHERE XXX = ? ORDER BY col DESC LIMIT ?, ?"
Run Code Online (Sandbox Code Playgroud)
这是我使用此值时获得的行数:
LIMIT: 0 .. 10 ---> num of rows 10 -> Correct
LIMIT: 10 .. 20 ---> num of rows 11 -> Incorrect
LIMIT: 20 .. 30 ---> num of rows 0 -> Incorrect
Run Code Online (Sandbox Code Playgroud)
代码用于php函数和数据库操作我使用PDOStatement类,但这个错误也表现在使用MySQLi类.
有谁知道问题在哪里?
当你说:
LIMIT X, Y
Run Code Online (Sandbox Code Playgroud)
你说的X是偏移量,Y是计数.你想要的是:
LIMIT 0, 10
LIMIT 10, 10
LIMIT 20, 10
Run Code Online (Sandbox Code Playgroud)
或者,使用OFFSET关键字并使用:
LIMIT 10 OFFSET 0
LIMIT 10 OFFSET 10
LIMIT 10 OFFSET 20
Run Code Online (Sandbox Code Playgroud)